MQTT

MQTT 協議主要特點

MQTT 協議是爲大量計算能力有限,且工作在低帶寬、不可靠的網絡的遠程傳感器和控制設備通訊而設計的協議,它具有以下主要的幾項特性:

    1. 使用發佈 / 訂閱消息模式,提供一對多的消息發佈,解除應用程序耦合;
    1. 對負載內容屏蔽的消息傳輸;
    1. 使用 TCP/IP 提供網絡連接;
    1. 有三種消息發佈服務質量:
    • “至多一次”,消息發佈完全依賴底層 TCP/IP 網絡。會發生消息丟失或重複。這一級別可用於如下情況,環境傳感器數據,丟失一次記錄無所謂,因爲不久後還會有第二次發送。
    • “至少一次”,確保消息到達,但消息重複可能會發生。
    • “只有一次”,確保消息到達一次。這一級別可用於如下情況,在計費系統中,消息重複或丟失會導致不正確的結果。
    1. 小型傳輸,開銷很小(固定長度的頭部是 2 字節),協議交換最小化,以降低網絡流量;
    1. 使用 Last Will 和 Testament 特性通知有關各方客戶端異常中斷的機制。

MQTT報文類型

名字 報文流動方向 描述
Reserved 0 禁止 保留
CONNECT 1 客戶端到服務端 客戶端請求連接服務端
CONNACK 2 服務端到客戶端 連接報文確認
PUBLISH 3 兩個方向都允許 發佈消息
PUBACK 4 兩個方向都允許 QoS 1消息發佈收到確認
PUBREC 5 兩個方向都允許 發佈收到(保證交付第一步)
PUBREL 6 兩個方向都允許 發佈釋放(保證交付第二步)
PUBCOMP 7 兩個方向都允許 QoS 2消息發佈完成(保證交互第三步)
SUBSCRIBE 8 客戶端到服務端 客戶端訂閱請求
SUBACK 9 服務端到客戶端 訂閱請求報文確認
UNSUBSCRIBE 10 客戶端到服務端 客戶端取消訂閱請求
UNSUBACK 11 服務端到客戶端 取消訂閱報文確認
PINGREQ 12 客戶端到服務端 心跳請求
PINGRESP 13 服務端到客戶端 心跳響應
DISCONNECT 14 客戶端到服務端 客戶端斷開連接
Reserved 15 禁止 保留
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章