DTU心跳包實際上是一個與服務器長連接的機制包。一般來說,如果一段時間沒有與服務器通信,服務器會主動斷開并斷開DTU之間的數據連接。如果客戶想長期與服務器保持連接,只能使用心跳包,DTU在網絡空閑時,將參數規定的數據定期發送到服務器。
如何設置心跳包?
一般來說,一個新的DTU在默認參數下,設備的心跳時間為0,不會主動將心跳包發送到服務器,需要設置后才能將心跳包發送到服務器,那么如何設置心跳包呢?
1.保持鏈接
當DTU處在TCP當透傳狀態連接到服務器時,如果在一定時間內,DTU如果沒有向服務器發送數據,運營商會強制將數據發送給服務器DTU與服務器斷開。所以在這個時候我們的。DTU隨時發送一包數據作為保持鏈接的條件。如果沒有心跳斷開連接,我們的DTU也會在幾秒鐘內重新連接,相當可靠,但設置心跳可以避免數據斷開時丟失。

2.告知數據中心DTU還在線
當DTU連接到服務器時,設置并設置DTU每分鐘發送一包數據,如果服務器超過設定時間一分鐘未收到DTU服務器將識別數據DTU已經掉線,然后阻礙通信。因此,心跳包可以通知數據中心。DTU還在網上。同時,不用擔心跳包擾亂數據。DTU具有心跳避讓功能,同時上傳數據,心跳避讓不發送此信息。
向網絡端發送主要目的是為了與服務器保持連接,和讓長時間空閑(很長時間內不會向服務器發送數據)的模塊檢測連接狀態是否有效。當連接異常時,模塊會檢測到無法正常發送心跳包數據到服務器端,發送失敗次數大于3次時,模塊認為連接異常,將嘗試重新接入服務器。
在服務器向設備發送固定查詢指令的應用中,為了減少通信流量,用戶可以選擇,用向串口設備端發送心跳包(查詢指令),來代替從服務器發送查詢指令。