我想知道如何(在服务器端)检测到当客户端计算机插入网络电缆或很难重新定位时,套接字连接是否失败。这对于c#中的客户端服务器项目很有用。
目前,只有当客户端关闭应用程序并隐式关闭套接字时,我才能检测套接字异常。
我在谷歌上搜索了一下,发现了FD_CLOSE IEvent of WSAAsyncSelect。这是否适用于我前面描述的案例?
发布于 2011-03-31 16:03:51
看看这个答案:立即检测客户端从服务器套接字断开连接
更新
好吧,我明白你在说什么了。在服务器上,如果客户端电缆被拔掉,或者它的网络发生了什么事情,您就无法在服务器上找到答案。您将不再从该客户端获得任何响应。我唯一能看到的方式是在这个答案的开头提供链接。
WSAEventSelect本机方法在Ws2_32.dll (Winsock2)中存在,但它仅用于检测本地计算机(应用程序运行的地方)上的网络不可用原因。
我查看了System.Net.NetworkInformation.NetworkChange类源代码,在这里您可以看到与WSAEventSelect相关的所有内容都是关于本地机器的(在您的示例服务器中)。
https://stackoverflow.com/questions/5502625
复制相似问题