歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> Linux文化

如何判斷網絡客戶端斷開(客戶端拔掉網線)


>>> 此貼的回復 >> 這個比較難判斷. 如果自己網線拔掉還可以借鑒mii-tool的源代碼.

不知道服務器端在設計的時候是否采用了 發"心跳"的方式. 如果是那樣可以判斷出非正常的斷開連接.

>>> 此貼的回復 >> 1 客戶端拔掉網線,也就意味著客戶端socket將關閉 2 socket可以把它比喻成一個管道,當管道的一邊關閉時,你會收到一個signal,SIGPIPE 3 把SIGPIPE掛成sigaction的鉤子 4 在SIGPIPE的處理函數中,做如下描述: { close( client_socket ); }

>>> 此貼的回復 >> 看你是發送還是接收數據。發送數據時馬上就能返回錯誤。接收數據時如果你以非阻塞的方式接收,可以在select()返回時通過getsockopt()判斷。


Copyright © Linux教程網 All Rights Reserved