作者noapaov (单身汉)
看板java
标题[问题] Socket keep-alive 连线
时间Wed Jul 8 10:31:04 2015
请问一下, 假设Client 与 Server保持Socket连线, Client这边直接把网路线拔掉,
此时Server应该是无法收到Client断线的讯息, 因为没有完成4-way Handshake程序,
因此Server要如何判断Client已经断线呢?
我在网路上查询发现蛮多人使用 sendUrgentData(0xFF); (大陆称心跳包)
透过定时发送封包的方式, 来确认Client是否已经断线,
不知道大家也是用这个方式吗? 还是有其他方式呢?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 125.227.144.199
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1436322666.A.859.html
1F:→ dou0228: 改 socket timeout 07/08 10:38
2F:→ dou0228: 4 way handshake ? 07/08 10:39
3F:→ noapaov: 四向交握 (4 way handshake) 07/08 10:49
4F:→ LiloHuang: TCP connection 是 3 way handshake (SYN,SYN-ACK,ACK) 07/08 19:33
5F:推 tas72732002: 断线是 4 way handshake 07/08 22:36
6F:推 LiloHuang: 抱歉没仔细看内文就回 XD 断线的确是 4 way handshake 07/08 23:38