C# 客戶端判斷服務器連接已斷開


問題描述:

       在C# Socket編程中,服務器端已經斷開連接(發送數據方),客戶端接收服務器端發送數據,在客戶端使用client.Recieve()中,服務器端斷開連接,客戶端任然顯示已連接狀態

問題解決:

    使用C# Poll函數

clipboard

clipboard

clipboard

    以下是實際中使用Poll的例子:

clipboard

    仔細參考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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM