客戶端和服務(wù)器通信,客戶端斷網(wǎng),斷電,服務(wù)端為什么無法自主檢測(cè)到客戶端掉線(不用心跳機(jī)制的情況下)。
1 回答

飲歌長(zhǎng)嘯
TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
正常連接斷開客戶端會(huì)給服務(wù)端發(fā)送一個(gè)fin包,服務(wù)端收到fin包后才會(huì)知道連接斷開。
而斷網(wǎng)斷電時(shí)客戶端無法發(fā)送fin包給服務(wù)端,所以服務(wù)端沒辦法檢測(cè)到客戶端已經(jīng)短線。
為了緩解這個(gè)問題,服務(wù)端需要有個(gè)心跳邏輯,就是服務(wù)端檢測(cè)到某個(gè)客戶端多久沒發(fā)送任何數(shù)據(jù)過來就認(rèn)為客戶端已經(jīng)斷開,
這需要客戶端定時(shí)向服務(wù)端發(fā)送心跳數(shù)據(jù)維持連接
添加回答
舉報(bào)
0/150
提交
取消