概述
mqtt 協定概述
mqtt 是用戶端-服務端架構的,基于釋出訂閱模型消息傳輸協定,用于網絡不穩定環境下為裝置提供可靠的雙向的消息傳遞
協定術語解釋
基于 TCP/IP 協定,使用類似事件總線模型,在服務端和用戶端之間約定了 14 種封包格式。
提供基于會話的有狀态的訂閱模式
MQTT 封包格式
伺服器:當我不存在?━┳━ ━┳━
連接配接封包
用戶端連接配接與斷線重連機制
消息封包
消息的持久化、有序性與可靠性保障機制
訂閱封包
完整的訂閱流程
其他封包
應用程式可以指定 KeepAlive 間隔,在閑時(或者定期)補發 Ping 請求
Session 處理
有狀态的長連接配接
遺囑消息
遇到網絡問題斷開時,可以指定遺囑消息,向指定 topic 推送通知
長連接配接保持
服務端有不活躍用戶端監測,會主動斷開不活躍的用戶端
主題通配符
MQTT 訂閱主題規則
傳輸安全
TSL 傳輸安全