标签: c# sockets exception-handling
假设我的客户端应用程序由于互联网问题而失去与服务器应用程序的连接,然后服务器收到“现有连接被远程主机强行关闭”异常。
捕获此异常的正确方法是什么,关闭服务器端套接字然后将其删除?
答案 0 :(得分:1)
这在很大程度上取决于您用于建立和维护连接的类。
我通常使用TcpClient,TcpListener及其异步函数。发生错误时,将使用e.Error!= null调用回调函数。通常遵循的是从活动连接列表中删除套接字,该套接字在e.UserState中可方便地使用。