問題描述:
在C# Socket編程中,服務器端已經斷開連接(發送數據方),客戶端接收服務器端發送數據,在客戶端使用client.Recieve()中,服務器端斷開連接,客戶端任然顯示已連接狀態
問題解決:
使用C# Poll函數
以下是實際中使用Poll的例子:
仔細參考MSDN上的Select.Read說明,可知返回true的條件包括:有數據可讀取、連接已關閉,重置或終止,因此可以判斷連接終止或關閉的情況
參考資料:
http://bbs.lanlong.net/home.php?mod=space&uid=105&do=blog&id=23086
http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socket.poll(v=vs.85).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1