MQTT 是一種基于客戶端-服務(wù)端架構(gòu)(C/S)的消息傳輸協(xié)議,所以在 MQTT 協(xié)議通信中,有兩個最為重要的角色,它們便是服務(wù)端和客戶端。
1)服務(wù)端
MQTT 服務(wù)端通常是一臺服務(wù)器(broker),它是 MQTT 信息傳輸?shù)臉屑~,負(fù)責(zé)將 MQTT 客戶端發(fā)送來的信息傳遞給 MQTT 客戶端;MQTT 服務(wù)端還負(fù)責(zé)管理 MQTT 客戶端,以確保客戶端之間的通訊順暢,保證 MQTT 信息得以正確接收和準(zhǔn)確投遞。
2)客戶端
MQTT 客戶端可以向服務(wù)端發(fā)布信息,也可以從服務(wù)端收取信息;我們把客戶端發(fā)送信息的行為稱為 “發(fā)布”信息。
3)MQTT 主題
上面我們講到了,客戶端想要從服務(wù)器獲取信息,首先需要訂閱信息,那客戶端如何訂閱信息呢?這里我們要引入“主題(Topic)”的概念,“主題”在 MQTT 通信中是一個非常重要的概念,客戶端發(fā)布信息以及訂閱信息都是圍繞“主題”來進行的,并且 MQTT 服務(wù)端在管理 MQTT 信息時,也是使用“主題”來控制的。
客戶端發(fā)布消息時需要為消息指定一個“主題”,表示將消息發(fā)布到該主題;而對于訂閱消息的客戶端 來說,可通過訂閱“主題”來訂閱消息,這樣當(dāng)其它客戶端或自己(當(dāng)前客戶端)向該主題發(fā)布消息時,MQTT 服務(wù)端就會將該主題的信息發(fā)送給該主題的訂閱者(客戶端)。
-
通信
+關(guān)注
關(guān)注
18文章
6074瀏覽量
136452 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2914文章
44955瀏覽量
377237
發(fā)布評論請先 登錄
相關(guān)推薦
Linux網(wǎng)絡(luò)編程-TCP客戶端如何獲取要連接的服務(wù)端IP?
![Linux網(wǎng)絡(luò)編程-TCP<b class='flag-5'>客戶端</b>如何獲取要連接的<b class='flag-5'>服務(wù)端</b>IP?](https://file.elecfans.com//web2/M00/6C/96/poYBAGMxuHKAS6g7AABF-KhOnZ8125.png)
TCP多客戶端和單服務(wù)端之間通信問題
如何在Lwip做服務(wù)端應(yīng)用時實現(xiàn)多個客戶端連接?
TCP通信時服務(wù)端如何接收客戶端的數(shù)據(jù)?
LabVIEW 做TCP服務(wù)端怎么把多個客戶端區(qū)分開
監(jiān)控系統(tǒng)客戶端及服務(wù)端設(shè)計
CH395作為TCP客戶端,連接電腦TCP服務(wù)端的時間很長怎么解決?
通訊貓MQTT服務(wù)器在線客戶端的問題
mqtt 客戶端VS2010
NodeMCU項目(三)MQTT客戶端
![NodeMCU項目(三)<b class='flag-5'>MQTT</b><b class='flag-5'>客戶端</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
服務(wù)端如何控制客戶端之間的信息通訊
![<b class='flag-5'>服務(wù)端</b>如何控制<b class='flag-5'>客戶端</b>之間的信息通訊](https://file1.elecfans.com/web2/M00/8E/67/wKgaomTGC7CADSbwAANqCiZEcxU991.jpg)
評論