教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

MQTT中怎樣發(fā)布/訂閱、主題、會(huì)話?

更新時(shí)間:2023年06月27日15時(shí)04分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

MQTT 是基于 發(fā)布(Publish)/訂閱(Subscribe) 模式來進(jìn)行通信及數(shù)據(jù)交換的,與 HTTP 的 請(qǐng)求(Request)/應(yīng)答(Response) 的模式有本質(zhì)的不同。

訂閱者(Subscriber) 會(huì)向 消息服務(wù)器(Broker) 訂閱一個(gè) 主題(Topic) 。成功訂閱后,消息服務(wù)器會(huì)將該主題下的消息轉(zhuǎn)發(fā)給所有的訂閱者。

主題(Topic)以 ‘/’ 為分隔符區(qū)分不同的層級(jí)。包含通配符 ‘+’ 或 ‘#’ 的主題又稱為 主題過濾器(Topic Filters); 不含通配符的稱為 主題名(Topic Names) 例如:

chat/room/1 

sensor/10/temperature 

sensor/+/temperature 

$SYS/broker/metrics/packets/received 

$SYS/broker/metrics/#
'+': 表示通配一個(gè)層級(jí),例如a/+,匹配a/x, a/y
'#': 表示通配多個(gè)層級(jí),例如a/#,匹配a/x, a/b/c/d 
注: ‘+’ 通配一個(gè)層級(jí),’#’ 通配多個(gè)層級(jí)(必須在末尾)。

發(fā)布者(Publisher) 只能向 ‘主題名’ 發(fā)布消息,訂閱者(Subscriber) 則可以通過訂閱 ‘主題過濾器’ 來通配多個(gè)主 題名稱。

會(huì)話(Session)

每個(gè)客戶端與服務(wù)器建立連接后就是一個(gè)會(huì)話,客戶端和服務(wù)器之間有狀態(tài)交互。會(huì)話存在于一個(gè)網(wǎng)絡(luò)之間,也可能在客戶端和服務(wù)器之間跨越多個(gè)連續(xù)的網(wǎng)絡(luò)連接。

0 分享到:
和我們?cè)诰€交談!