在客戶端設置socket.setKeepAlive(true, 1000),而服務器設置socket.setTimeout(2000)服務器卻依然會觸發timeout事件?setKeepAlive的作用不是在沒有數據傳輸時定時發送一些包來給服務器么?
1 回答

慕尼黑8549860
TA貢獻1818條經驗 獲得超11個贊
socket.setKeepAlive() 意思是如果規定時間沒連接,則發送一個空包確認。
socket.setTimeout() 同理,也是規定時間內沒連接的話會觸發,但是不會發空包確認,當然你可以通過回調函數中的 socket 來發一個確認包,這樣就和 setKeepAlive 類似了,除此之外會觸發 timeout 事件。
- 1 回答
- 0 關注
- 807 瀏覽
添加回答
舉報
0/150
提交
取消