應(yīng)用場(chǎng)景:
在長(zhǎng)連接下里初,有可能很長(zhǎng)一段時(shí)間都沒有數(shù)據(jù)往來啃勉。理論上說,這個(gè)連接是一直保持連接的青瀑,但是實(shí)際情況中璧亮,如果中間節(jié)點(diǎn)出現(xiàn)什么故障是難以知道的。
更要命的是斥难,有的節(jié)點(diǎn)(防火墻)會(huì)自動(dòng)把一定時(shí)間之內(nèi)沒有數(shù)據(jù)交互的連接給斷掉枝嘶。在這個(gè)時(shí)候,就需要我們的心跳包了哑诊,用于維持長(zhǎng)連接群扶,保活
什么是心跳機(jī)制镀裤?
就是每隔幾分鐘發(fā)送一個(gè)固定信息給服務(wù)端竞阐,服務(wù)端收到后回復(fù)一個(gè)固定信息如果服務(wù)端幾分鐘內(nèi)沒有收到客戶端信息則視客戶端斷開。
發(fā)包方:可以是客戶也可以是服務(wù)端暑劝,看哪邊實(shí)現(xiàn)方便合理骆莹。
心跳包之所以叫心跳包是因?yàn)椋核裥奶粯用扛艄潭〞r(shí)間發(fā)一次,以此來告訴服務(wù)器担猛,這個(gè)客戶端還活著幕垦。事實(shí)上這是為了保持長(zhǎng)連接,至于這個(gè)包的內(nèi)容傅联,是沒
有什么特別規(guī)定的先改,不過一般都是很小的包,或者只包含包頭的一個(gè)空包蒸走。心跳包主要也就是用于長(zhǎng)連接的背鹉蹋活和斷線處理。一般的應(yīng)用下比驻,判定時(shí)間在30-40
秒比較不錯(cuò)该溯。如果實(shí)在要求高,那就在6-9秒嫁艇。