2011-03-02 65 views
2

假设我的客户端应用程序由于Internet问题而失去与服务器应用程序的连接,则服务器接收到“现有连接被远程主机强制关闭”异常。C#句柄强制关闭套接字连接

什么是正确的方法来捕获此异常,关闭服务器端套接字,然后将其删除?

+0

我不确定你在问什么。对此错误的正确响应是捕获异常,关闭套接字并将其从任何应用程序的数据结构中删除。这就是你说的。 – 2011-03-02 11:45:44

回答

1

这很大程度上取决于您使用什么类来建立和维护连接。

我通常使用TcpClient,TcpListener及其异步函数。发生错误时,将使用e.Error!= null调用回调函数。通常所遵循的是从活动连接列表中删除在e.UserState中方便使用的套接字。