問題描述:
在C# Socket編程中,服務(wù)器端已經(jīng)斷開連接(發(fā)送數(shù)據(jù)方),客戶端接收服務(wù)器端發(fā)送數(shù)據(jù),在客戶端使用client.Recieve()中,服務(wù)器端斷開連接,客戶端任然顯示已連接狀態(tài)
問題解決:
使用C# Poll函數(shù)
以下是實(shí)際中使用Poll的例子:
仔細(xì)參考MSDN上的Select.Read說明,可知返回true的條件包括:有數(shù)據(jù)可讀取、連接已關(guān)閉,重置或終止,因此可以判斷連接終止或關(guān)閉的情況
參考資料:
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