MQTT

簡(jiǎn)介

MQTT全稱Message Queuing Telemetry Transport,中文名消息隊(duì)列遙測(cè)傳輸協(xié)議,是一個(gè)基于TCP/IP、發(fā)布訂閱模式的輕量級(jí)應(yīng)用層協(xié)議。

MQTT是以服務(wù)端-客戶端的形式,以發(fā)布訂閱模式來(lái)進(jìn)行消息傳遞的。通訊過(guò)程需要三種角色:發(fā)布者publish、代理broker、消費(fèi)者subscribe。其中,代理是服務(wù)端,發(fā)布者與消費(fèi)者都是客戶端。

MQTT傳輸?shù)膱?bào)文分為T(mén)opic和payload,其中Topic就是客戶端訂閱的主題,payload為訂閱該主題后收到的內(nèi)容。主題采用的是分層結(jié)構(gòu),用#和+就能指定多個(gè)主題。比如 /Sensor/temperature/#表示所有房間的溫度,/Sensor/+/room1表示room1中的所有傳感器的值。

QOS在MQTT中有三個(gè)等級(jí):QoS0,QoS1,QoS2。分為表示最多發(fā)一次,至少發(fā)一次,只發(fā)一次。

????????QoS0:遵循TCP/IP盡力發(fā)布原則,消息要么達(dá)到一次中介,要么沒(méi)有達(dá)到;

? ? ? ? QoS1:中介一段時(shí)間內(nèi)不返回PUBACK,發(fā)布者會(huì)一直發(fā);

? ? ? ? QoS2:中介收到消息后,會(huì)給發(fā)布者發(fā)送PUBREC,發(fā)布者會(huì)向中介發(fā)送PUBREL,然后中介會(huì)向發(fā)布者發(fā)送PUBCOMP,接下來(lái)根據(jù)訂閱者指定的QoS向訂閱者傳遞消息。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容