【发布时间】:2018-03-05 08:50:27
【问题描述】:
我正在使用嵌入式 linux 内核 2.6 设备,需要知道以前建立的套接字是否仍然有效,而且我不能使用通常的发送函数执行此操作并检查返回值,因为如果我发送到无效的套接字描述符,我的应用程序将崩溃,Linux 将关闭我的进程。还有其他功能/建议吗?
编辑: 设备中有一个安装的应用程序管理器,当我尝试发送到未引用打开套接字的套接字描述符时,应用程序管理器将结束我的应用程序,然后如果我关闭套接字连接并尝试写入它,我的应用程序将被较低级别的应用程序管理器关闭。另外我正在使用 TCP 套接字,WBr。
【问题讨论】:
-
你说的仍然有效是什么意思?另外,您指的是哪种插座?本地、TCP 还是 UDP?请澄清您的问题
-
另外,如果在无效的套接字上发送,为什么您的应用会崩溃?
-
你的应用程序不会崩溃,除非你写了一些东西让它崩溃。
-
请为您的问题使用换行符和正确的格式。当它看起来像一堵字母墙时,它非常难以阅读。
-
“如果我关闭一个套接字并尝试写入它”与“如果套接字的另一端已关闭”完全不同。如果你关闭 你的结束 套接字然后尝试写入(现在无效的)文件描述符,那是你的错 - 这是你的代码中的一个逻辑错误。不要这样做。