1、MQTT主要特性
MQTT協(xié)議工作在低帶寬、不可靠的網(wǎng)絡(luò)的遠程傳感器和控制設(shè)備通訊而設(shè)計的協(xié)議。具有以下特性:
- 使用發(fā)布-訂閱消息模式,提供一對多的消息發(fā)布,解除應(yīng)用程序耦合
- 對負載內(nèi)容屏蔽的消息傳輸
- 使用TCP/IP提供網(wǎng)絡(luò)連接
- 三種消息發(fā)布服務(wù)質(zhì)量
- 至多一次:Qos=0
- 至少一次:Qos=1,但消息重復(fù)可能會發(fā)生
- 只有一次:Qos=2,確保消息只到達一次
- 小型傳輸,開銷很小,協(xié)議交換最小化,以降低網(wǎng)絡(luò)流量
- 使用Last Will和Testament特性通知有關(guān)各方客戶端異常中斷的機制
- Last Will:遺言機制,用于通知同一主題下的其他設(shè)備發(fā)送遺言的設(shè)備已經(jīng)斷開了連接
- Testament:遺囑機制,功能類似于Last Will
2、MQTT協(xié)議實現(xiàn)方式
- MQTT三種身份:發(fā)布者(Publish)、代理(Broker、服務(wù)器)、訂閱者(Subscribe)
- MQTT傳輸?shù)南⒎譃椋褐黝}(Topic)和負載(payload)倆部分
3、MQTT客戶端
一個使用MQTT協(xié)議的應(yīng)用程序或設(shè)備,它總是建立到服務(wù)器的網(wǎng)絡(luò)連接??蛻舳丝梢裕?/p>
- 發(fā)布其他客戶端可能會訂閱的消息
- 訂閱其他客戶端發(fā)布的消息
- 退訂或刪除應(yīng)用程序的消息
- 斷開與服務(wù)器連接
4、MQTT服務(wù)器
MQTT服務(wù)器稱為“消息代理”(Broker),可以是一個應(yīng)用程序或一臺設(shè)備,它位于消息發(fā)布者和訂閱者之間,它可以:
- 接受來自客戶的網(wǎng)絡(luò)連接
- 接受客戶發(fā)布的應(yīng)用消息
- 處理來自客戶端的訂閱和退訂請求
- 向訂閱的客戶端轉(zhuǎn)發(fā)應(yīng)用程序消息
本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布!