【发布时间】:2013-10-16 12:05:01
【问题描述】:
(Winsock32 / C++ / Win32 环境)
据我了解,与关闭文件句柄(例如使用CloseHandle())相反,
关闭套接字是两个部分的操作,除了释放SOCK 句柄和释放实际资源,它还负责在会话终止时通知连接的另一端。
问题是,如何处理服务器出于自身原因关闭连接,然后客户端尝试关闭连接的情况。这意味着,如何只做资源释放部分,如上所述,而不通知终止。
【问题讨论】:
-
这是一个网络——服务器和客户端总是有可能以重叠的方式关闭连接。在任一端,关闭句柄并处理关闭期间可能引发的任何错误/异常。
-
@MartinJames 你当然是对的,但是根据 MSDN,关闭
SOCK句柄是使用closesocket()完成的,在所描述的情况下,它只是 blocks i> -
我们这里可能有XY problem。
标签: c++ sockets winapi winsock