MQTT 是一種基于客戶端-服務端架構(C/S)的消息傳輸協議,所以在 MQTT 協議通信中,有兩個最為重要的角色,它們便是服務端和客戶端。
1)服務端
MQTT 服務端通常是一臺服務器(broker),它是 MQTT 信息傳輸的樞紐,負責將 MQTT 客戶端發送來的信息傳遞給 MQTT 客戶端;MQTT 服務端還負責管理 MQTT 客戶端,以確保客戶端之間的通訊順暢,保證 MQTT 信息得以正確接收和準確投遞。
2)客戶端
MQTT 客戶端可以向服務端發布信息,也可以從服務端收取信息;我們把客戶端發送信息的行為稱為 “發布”信息。
3)MQTT 主題
上面我們講到了,客戶端想要從服務器獲取信息,首先需要訂閱信息,那客戶端如何訂閱信息呢?這里我們要引入“主題(Topic)”的概念,“主題”在 MQTT 通信中是一個非常重要的概念,客戶端發布信息以及訂閱信息都是圍繞“主題”來進行的,并且 MQTT 服務端在管理 MQTT 信息時,也是使用“主題”來控制的。
客戶端發布消息時需要為消息指定一個“主題”,表示將消息發布到該主題;而對于訂閱消息的客戶端 來說,可通過訂閱“主題”來訂閱消息,這樣當其它客戶端或自己(當前客戶端)向該主題發布消息時,MQTT 服務端就會將該主題的信息發送給該主題的訂閱者(客戶端)。
-
通信
+關注
關注
18文章
6070瀏覽量
136418 -
物聯網
+關注
關注
2913文章
44924瀏覽量
376969
發布評論請先 登錄
相關推薦
Linux網絡編程-TCP客戶端如何獲取要連接的服務端IP?
![Linux網絡編程-TCP<b class='flag-5'>客戶端</b>如何獲取要連接的<b class='flag-5'>服務端</b>IP?](https://file.elecfans.com//web2/M00/6C/96/poYBAGMxuHKAS6g7AABF-KhOnZ8125.png)
TCP通信時服務端如何接收客戶端的數據?
LabVIEW 做TCP服務端怎么把多個客戶端區分開
監控系統客戶端及服務端設計
CH395作為TCP客戶端,連接電腦TCP服務端的時間很長怎么解決?
通訊貓MQTT服務器在線客戶端的問題
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)
評論