MQTT 是一種基于客戶端-服務(wù)端架構(gòu)(C/S)的消息傳輸協(xié)議,所以在 MQTT 協(xié)議通信中,有兩個(gè)最為重要的角色,它們便是服務(wù)端和客戶端。
1)服務(wù)端
MQTT 服務(wù)端通常是一臺(tái)服務(wù)器(broker),它是 MQTT 信息傳輸?shù)臉屑~,負(fù)責(zé)將 MQTT 客戶端發(fā)送來(lái)的信息傳遞給 MQTT 客戶端;MQTT 服務(wù)端還負(fù)責(zé)管理 MQTT 客戶端,以確保客戶端之間的通訊順暢,保證 MQTT 信息得以正確接收和準(zhǔn)確投遞。
2)客戶端
MQTT 客戶端可以向服務(wù)端發(fā)布信息,也可以從服務(wù)端收取信息;我們把客戶端發(fā)送信息的行為稱為 “發(fā)布”信息。
3)MQTT 主題
上面我們講到了,客戶端想要從服務(wù)器獲取信息,首先需要訂閱信息,那客戶端如何訂閱信息呢?這里我們要引入“主題(Topic)”的概念,“主題”在 MQTT 通信中是一個(gè)非常重要的概念,客戶端發(fā)布信息以及訂閱信息都是圍繞“主題”來(lái)進(jìn)行的,并且 MQTT 服務(wù)端在管理 MQTT 信息時(shí),也是使用“主題”來(lái)控制的。
客戶端發(fā)布消息時(shí)需要為消息指定一個(gè)“主題”,表示將消息發(fā)布到該主題;而對(duì)于訂閱消息的客戶端 來(lái)說(shuō),可通過(guò)訂閱“主題”來(lái)訂閱消息,這樣當(dāng)其它客戶端或自己(當(dāng)前客戶端)向該主題發(fā)布消息時(shí),MQTT 服務(wù)端就會(huì)將該主題的信息發(fā)送給該主題的訂閱者(客戶端)。
-
通信
+關(guān)注
關(guān)注
18文章
6263瀏覽量
139181 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2938文章
46967瀏覽量
403334
發(fā)布評(píng)論請(qǐng)先 登錄
Linux網(wǎng)絡(luò)編程-TCP客戶端如何獲取要連接的服務(wù)端IP?

TCP多客戶端和單服務(wù)端之間通信問(wèn)題
如何在Lwip做服務(wù)端應(yīng)用時(shí)實(shí)現(xiàn)多個(gè)客戶端連接?
TCP通信時(shí)服務(wù)端如何接收客戶端的數(shù)據(jù)?
LabVIEW 做TCP服務(wù)端怎么把多個(gè)客戶端區(qū)分開(kāi)
監(jiān)控系統(tǒng)客戶端及服務(wù)端設(shè)計(jì)
CH395作為T(mén)CP客戶端,連接電腦TCP服務(wù)端的時(shí)間很長(zhǎng)怎么解決?
通訊貓MQTT服務(wù)器在線客戶端的問(wèn)題
mqtt 客戶端VS2010
NodeMCU項(xiàng)目(三)MQTT客戶端

服務(wù)端如何控制客戶端之間的信息通訊

評(píng)論