MQTT 是一種基于客戶端-服務端架構(C/S)的消息傳輸協議,所以在 MQTT 協議通信中,有兩個最為重要的角色,它們便是服務端和客戶端。
1)服務端
MQTT 服務端通常是一臺服務器(broker),它是 MQTT 信息傳輸的樞紐,負責將 MQTT 客戶端發送來的信息傳遞給 MQTT 客戶端;MQTT 服務端還負責管理 MQTT 客戶端,以確保客戶端之間的通訊順暢,保證 MQTT 信息得以正確接收和準確投遞。
2)客戶端
MQTT 客戶端可以向服務端發布信息,也可以從服務端收取信息;我們把客戶端發送信息的行為稱為 “發布”信息。
3)MQTT 主題
上面我們講到了,客戶端想要從服務器獲取信息,首先需要訂閱信息,那客戶端如何訂閱信息呢?這里我們要引入“主題(Topic)”的概念,“主題”在 MQTT 通信中是一個非常重要的概念,客戶端發布信息以及訂閱信息都是圍繞“主題”來進行的,并且 MQTT 服務端在管理 MQTT 信息時,也是使用“主題”來控制的。
客戶端發布消息時需要為消息指定一個“主題”,表示將消息發布到該主題;而對于訂閱消息的客戶端 來說,可通過訂閱“主題”來訂閱消息,這樣當其它客戶端或自己(當前客戶端)向該主題發布消息時,MQTT 服務端就會將該主題的信息發送給該主題的訂閱者(客戶端)。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
通信
+關注
關注
18文章
6436瀏覽量
140225 -
物聯網
+關注
關注
2948文章
48028瀏覽量
417571
發布評論請先 登錄
相關推薦
熱點推薦
Linux網絡編程-TCP客戶端如何獲取要連接的服務端IP?
本篇介紹了在TCP通信中,客戶端通過UDP廣播,實現自動獲取服務端的IP地址,并進行TCP連接的具體方法,并通過代碼實現,來測試此方案是實際效果,為了使服務端能夠處理多個客戶端的請求,
TCP通信時服務端如何接收客戶端的數據?
畢設采用的是TCP協議,組員做的是下位機,C編程,WiFi模塊工作處于客戶端。我負責上位機,Labview使用tcp協議時服務端怎么接收客戶端的數據呢? 我找到的例程都是服務端發、
發表于 04-14 14:49
LabVIEW 做TCP服務端怎么把多個客戶端區分開
LabVIEW 做TCP服務端因為要連接四個客戶端假如有四個客戶端分別是1號 2號 3號 4號,這四個客戶端分開單獨控制,每次連接客戶端的I
發表于 05-29 16:48
監控系統客戶端及服務端設計
詳情2.1.2 數據庫接口及實現2.1.2.1 用戶注冊2.1.2.2 用戶查詢2.2 監控系統客戶端及服務端設計2.2.1 `CS`模型2.2.2 功能2.2.2 服務機與客戶機交互
發表于 12-21 07:02
CH395作為TCP客戶端,連接電腦TCP服務端的時間很長怎么解決?
CH395作為TCP客戶端,電腦作為TCP服務端,第一次連接時很快就能連接上只需1秒。TCP客戶端與TCP服務端進行數據發輸2,3次后,在電腦TCP
發表于 10-14 06:09
通訊貓MQTT服務器在線客戶端的問題
我在網上找一個通訊貓MQTT服務器在線客戶端。我有點糊涂,到底是服務器,還是客戶端??梢赃B上,也可以發數據,就是不知道跟誰連。我從上面下了個
發表于 11-19 12:17
mqtt 客戶端VS2010
mqtt客戶端源代碼,有一個工程是生成mqtt協議的需要的dll文件,另一個工程師簡單的調用這個dll實現客戶端與服務器的通信,適合剛開始學
發表于 11-19 15:17
?61次下載
NodeMCU項目(三)MQTT客戶端
NodeMCU模塊連接WiFi后,作為一個客戶端連接MQTT服務器;手機通過微信小程序連接到相同的服務器上,作為另一個客戶端。手機和Node
發表于 11-05 17:05
?1次下載
服務端測試和客戶端測試區別在哪
服務端測試和客戶端測試是軟件開發過程中的兩個重要環節,它們分別針對服務器端和客戶端的軟件進行測試。本文將詳細介紹服務端測試和
MQTT中服務端和客戶端
評論