MQTT的Keep Alive機制

簡介

在建立連接的時候,我們可以傳遞一個 Keep Alive 參數,它的單位爲秒,MQTT 協議中約定:在 1.5*Keep Alive 的時間間隔內,如果 Broker 沒有收到來自 Client 的任何數據包,那麼 Broker 認爲它和 Client 之間的連接已經斷開;同樣地, 如果 Client 沒有收到來自 Broker 的任何數據包,那麼 Client 認爲它和 Broker 之間的連接已經斷開。

PINGREQ

PINGREQ 數據包沒有可變頭(Variable header)和消息體(Payload),當 Client 在一個 Keep Alive 時間間隔內沒有向 Broker 發送任何數據包,比如 PUBLISH 和 SUBSCRIBE 的時候,它應該向 Broker 發送 PINGREQ 數據包。

PINGRESP

PINGRESP 數據包沒有可變頭(Variable header)和消息體(Payload),當 Broker 收到來自 Client 的 PINGREQ 數據包,它應該回復 Client 一個 PINGRESP 數據包。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章