Re: [問題] Socket keep-alive 連線
※ 引述《noapaov (單身漢)》之銘言:
: 請問一下, 假設Client 與 Server保持Socket連線, Client這邊直接把網路線拔掉,
: 此時Server應該是無法收到Client斷線的訊息, 因為沒有完成4-way Handshake程序,
: 因此Server要如何判斷Client已經斷線呢?
: 我在網路上查詢發現蠻多人使用 sendUrgentData(0xFF); (大陸稱心跳包)
: 透過定時發送封包的方式, 來確認Client是否已經斷線,
: 不知道大家也是用這個方式嗎? 還是有其他方式呢?
: 謝謝
Socket s = new Socket();
s.setSoTimeout(30000);
s.setKeepAlive(true);
s.connect(address);
其實原理也是跟心跳包一樣,只是一個是底層做掉,另外一個是自己寫。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.87.115
※ 文章網址: https://www.ptt.cc/bbs/java/M.1436334454.A.124.html
→
07/08 13:54, , 1F
07/08 13:54, 1F
→
07/08 16:25, , 2F
07/08 16:25, 2F
→
07/08 17:27, , 3F
07/08 17:27, 3F
→
07/08 17:27, , 4F
07/08 17:27, 4F
→
07/08 17:28, , 5F
07/08 17:28, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章