(Winsock32
/C++
/Win32
环境)关闭客户端套接字,之后服务器已经关闭了它的身边
据我了解,而不是关闭文件句柄实例(使用CloseHandle()
), 关闭套接字一个2部分的操作,除了释放SOCK
句柄,并释放实际资源外,它还负责在会话终止时通知对方连接。
问题是,如何处理服务器由于其自身原因而关闭连接的场景,然后客户端试图将其关闭。也就是说,如上所述,如何仅做资源释放部分,而没有终止通知。
(Winsock32
/C++
/Win32
环境)关闭客户端套接字,之后服务器已经关闭了它的身边
据我了解,而不是关闭文件句柄实例(使用CloseHandle()
), 关闭套接字一个2部分的操作,除了释放SOCK
句柄,并释放实际资源外,它还负责在会话终止时通知对方连接。
问题是,如何处理服务器由于其自身原因而关闭连接的场景,然后客户端试图将其关闭。也就是说,如上所述,如何仅做资源释放部分,而没有终止通知。
如何处理服务器关闭了它的 自己的理由连接的情况?
如果您已经被无效被关闭的连接插座上叫closesocket()
,你只是释放套接字描述,您不必担心套接字是否关闭另一侧与否。
这是一个网络 - 总是有可能服务器和客户端都以重叠的方式关闭连接。在任何一端,关闭句柄,只处理关闭期间可能出现的任何错误/异常。 –
@MartinJames你当然是对的,但根据MSDN,用'closesocket()'完成一个'SOCK'句柄,并且在所描述的情况下,它只是***阻止*** –
我们可能有一个[XY问题](http://mywiki.wooledge.org/XyProblem)在这里。 – zakinster