Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我知道这个问题已经讨论过好几次了,但我没有设法检测到在 Unix 上的 C/C++ 中的套接字是否断开。有什么办法吗?
谢谢,布鲁克斯的问候
我假设套接字可能被对等方关闭。
这很大程度上取决于您要检测断开连接的位置。
如果您处于阻塞状态recv: 联机帮助页
recv
这些调用返回接收到的字节数,如果发生错误,则返回 -1。如果发生错误,则设置 errno 以指示错误。
当流套接字对等点执行了有序关闭时,返回值将为 0(传统的“文件结束”返回)。
如果你想知道send: 手册页
send
成功时,这些调用返回发送的字节数。出错时,返回 -1,并适当设置 errno。