網(wǎng)頁設(shè)計的注意事項網(wǎng)絡(luò)網(wǎng)站推廣優(yōu)化
文章目錄
- 心跳機(jī)制
- 應(yīng)用場景
- 什么是心跳機(jī)制
- 心跳包的發(fā)送,通常有兩種技術(shù)
心跳機(jī)制
應(yīng)用場景
在長連接下,有可能很長一段時間沒有數(shù)據(jù)往來。理論上說,這個連接是一直保持連接的,但是實際情況中,如果中間節(jié)點出現(xiàn)什么故障是難以知道的。更要命的是,有的節(jié)點(防火墻)會自動把一定時間之內(nèi)沒有數(shù)據(jù)交互 的連接給斷掉。在這個時候,就需要我們的心跳包了,用于維持長連接,?;睢?/p>
什么是心跳機(jī)制
就是每隔幾分鐘發(fā)送一個固定信息給服務(wù)端,服務(wù)端收到后回復(fù)一固定信息。如果服務(wù)端幾分鐘內(nèi)沒有收到客戶端信息則視客戶端斷開。
心跳包的發(fā)送,通常有兩種技術(shù)
- 應(yīng)用層自己實現(xiàn)的心跳包
- 使用SO_KEEPALIVE套接字選項