[問題] Socket keep-alive 連線

作者: noapaov (單身漢)   2015-07-08 10:31:04
請問一下, 假設Client 與 Server保持Socket連線, Client這邊直接把網路線拔掉,
此時Server應該是無法收到Client斷線的訊息, 因為沒有完成4-way Handshake程序,
因此Server要如何判斷Client已經斷線呢?
我在網路上查詢發現蠻多人使用 sendUrgentData(0xFF); (大陸稱心跳包)
透過定時發送封包的方式, 來確認Client是否已經斷線,
不知道大家也是用這個方式嗎? 還是有其他方式呢?
謝謝
作者: dou0228 (7777)   2015-07-08 10:38:00
改 socket timeout4 way handshake ?
作者: noapaov (單身漢)   2015-07-08 10:49:00
四向交握 (4 way handshake)
作者: LiloHuang (十年一刻)   2015-07-08 19:33:00
TCP connection 是 3 way handshake (SYN,SYN-ACK,ACK)
作者: tas72732002 (蔥頭)   2015-07-08 22:36:00
斷線是 4 way handshake
作者: LiloHuang (十年一刻)   2015-07-08 23:38:00
抱歉沒仔細看內文就回 XD 斷線的確是 4 way handshake

Links booklink

Contact Us: admin [ a t ] ucptt.com