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

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