>>> 此貼的回復 >> 這個比較難判斷. 如果自己網線拔掉還可以借鑒mii-tool的源代碼.
不知道服務器端在設計的時候是否采用了 發"心跳"的方式. 如果是那樣可以判斷出非正常的斷開連接.
>>> 此貼的回復 >> 1 客戶端拔掉網線,也就意味著客戶端socket將關閉 2 socket可以把它比喻成一個管道,當管道的一邊關閉時,你會收到一個signal,SIGPIPE 3 把SIGPIPE掛成sigaction的鉤子 4 在SIGPIPE的處理函數中,做如下描述: { close( client_socket ); }
>>> 此貼的回復 >> 看你是發送還是接收數據。發送數據時馬上就能返回錯誤。接收數據時如果你以非阻塞的方式接收,可以在select()返回時通過getsockopt()判斷。