websocket 連接后客戶(hù)端發(fā)送心跳檢測(cè)數(shù)據(jù)到服務(wù)器,服務(wù)器接收到心跳檢測(cè)后返回一個(gè)數(shù)據(jù)到客戶(hù)端,但是網(wǎng)頁(yè)開(kāi)車(chē)啥也不干有時(shí)候幾個(gè)小時(shí)后就自動(dòng)斷掉了,為啥會(huì)自動(dòng)斷開(kāi)
客戶(hù)端一直都是定時(shí)發(fā)送數(shù)據(jù)到服務(wù)器保持通行的,關(guān)鍵是斷開(kāi)的時(shí)間不確定,有時(shí)間一下午都不斷開(kāi),有時(shí)候幾個(gè)小時(shí)就自動(dòng)斷開(kāi)了
長(zhǎng)連接斷開(kāi)很正常吧。服務(wù)端重啟、網(wǎng)絡(luò)切換、設(shè)備黑屏睡眠斷網(wǎng)、瀏覽器最小化停止運(yùn)行、應(yīng)用進(jìn)入后臺(tái)、心跳間隔太長(zhǎng)連接被路由節(jié)點(diǎn)踢掉、網(wǎng)絡(luò)環(huán)境差等等太多原因了,這個(gè)已經(jīng)不是程序可控制的了。最重要的是客戶(hù)端要有重連機(jī)制,檢測(cè)到斷開(kāi)后重連啊。不要指望長(zhǎng)連接能一直維持到永遠(yuǎn),那是不現(xiàn)實(shí)的