1. 程式人生 > >心跳包(HeartBeat)是必須的?

心跳包(HeartBeat)是必須的?

為什麼心跳包(HeartBeat)是必須的?
原文連結:https://www.cnblogs.com/coderzh/p/WhyHeartBeatNeeded.html

伺服器發了心跳包,客戶端迴應一個就好了吧,發三次客戶端不響應,說明超時

伺服器功能:
1.傳送資料給客戶端
2.傳送心跳包給客戶端,如果斷線,則提示,並且刪除與客戶端通訊的會話
3.30秒算是超時, 10秒傳送一次心跳包。 傳送”heartbeat”給客戶端,客戶端接受後,再次返回這個資料給服務端,
服務端收到後,進行比較

客戶端功能:
1.收到服務端心跳包,做出迴應。
2.收到服務端 非心跳包資料,列印或者存檔

順便提供個思路,客戶端收到資料後,是立即迴應服務端呢,還是如何處理之, 有時候會收到心跳包,有時候會收到服務端給他的資料。 我在思考,是否客戶端也需要開一個定時器什麼的,之所以有這個考慮,原因是:
客戶端夜需要知道自己是否線上。 當然客戶端有個功能:傳送資料,可以做出判斷,傳送失敗,那麼斷定自己掉線。