2011-03-02 64 views
2

假設我的客戶端應用程序由於Internet問題而失去與服務器應用程序的連接,則服務器接收到「現有連接被遠程主機強制關閉」異常。C#句柄強制關閉套接字連接

什麼是正確的方法來捕獲此異常,關閉服務器端套接字,然後將其刪除?

+0

我不確定你在問什麼。對此錯誤的正確響應是捕獲異常,關閉套接字並將其從任何應用程序的數據結構中刪除。這就是你說的。 – 2011-03-02 11:45:44

回答

1

這很大程度上取決於您使用什麼類來建立和維護連接。

我通常使用TcpClient,TcpListener及其異步函數。發生錯誤時,將使用e.Error!= null調用回調函數。通常所遵循的是從活動連接列表中刪除在e.UserState中方便使用的套接字。