日本无卡无吗中文免费-日本午夜vr影院新入口-日本午夜大片免费观看视频-日本午夜精华-亚洲精品视频在线播放-亚洲精品视频在线观看免费

問(wèn)答中心

Answer Center

下載中心

視頻中心

常見(jiàn)問(wèn)題

售后服務(wù)

報(bào)文是什么意思?mqtt協(xié)議報(bào)文格式詳解

時(shí)間:2022-11-05 14:26:42 

點(diǎn)擊:2864 

關(guān)鍵詞:報(bào)文,mqtt,報(bào)文格式 

問(wèn)題
報(bào)文是什么意思?mqtt協(xié)議報(bào)文格式詳解

回答
報(bào)文是網(wǎng)絡(luò)中交換和傳輸?shù)臄?shù)據(jù)單元,也是網(wǎng)絡(luò)傳輸?shù)膯卧?bào)文包含了將要發(fā)送的完整的數(shù)據(jù)信息,其長(zhǎng)短不需一致。報(bào)文在傳輸過(guò)程中會(huì)不斷地封裝成分組、包、幀來(lái)傳輸,封裝的方式就是添加一些控制信息組成的首部,那就是報(bào)文頭。
 
mqtt協(xié)議報(bào)文結(jié)構(gòu)
 
固件報(bào)頭Fixed header
 
最多一次(0), 發(fā)出去了就不管了
 
至少一次(1),發(fā)出必須要等接收方回復(fù)ack,沒(méi)有回復(fù),那么就找時(shí)機(jī)重發(fā),接收方需要處理去重
 
準(zhǔn)確一次(2),保證只發(fā)一次,需要持久化,重復(fù)消息自動(dòng)去重,并且只有當(dāng)接收方把消息投遞出去,才算完成
 
控制報(bào)文的類(lèi)型 Control Packet type,14種有效類(lèi)型: [connect, publish, subscribe,.....]
 
第一個(gè)1個(gè)字節(jié)前4位,
 
標(biāo)志Flags,
 
第一個(gè)1個(gè)字節(jié)后4位,
 
DUP 控制報(bào)文是否為重復(fù)報(bào)文,只有PUBLISH才會(huì)有DUP為1的情況,其他的報(bào)文類(lèi)型都是0
 
QoS 控制PUBLISH報(bào)文的質(zhì)量等級(jí),
 
publish
 
publish - pubrec
 
publish - pubrec - pubrel - pubcomp
 
RETAIN,
 
每個(gè)topic只有唯一的保留消息,每個(gè)client訂閱的時(shí)候,會(huì)立刻讀取到保留消息
 
如果訂閱者無(wú)法與broker連接,可以通過(guò)retain消息,讓訂閱者下次連接訂閱成功時(shí)一次接受所有的內(nèi)容
 
發(fā)布者定時(shí)發(fā)布retain消息,訂閱者可以根據(jù)retain消息的變化推測(cè)發(fā)布者狀態(tài)
 
剩余長(zhǎng)度 Remaining Length
 
從第二個(gè)字節(jié)開(kāi)始,最大長(zhǎng)度是4個(gè)字節(jié),低位在前,高位在后,通過(guò)每一個(gè)字節(jié)第一位[0不需要,1需要]確定是否需要繼續(xù)往后繼續(xù)計(jì)算,也就是最多可以存儲(chǔ)256M, 最大值16進(jìn)制為:0xFF,0xFF,0xFF,0x7F
 
可變報(bào)頭Variable header
 
可變報(bào)文部分是根據(jù)不同的報(bào)文類(lèi)型,這部分的內(nèi)容也不同
 
比如: 連接報(bào)文會(huì)有用戶(hù)名密碼標(biāo)識(shí),遺囑標(biāo)識(shí),是否清理會(huì)話(huà)標(biāo)識(shí)等,發(fā)布報(bào)文會(huì)有topic信息
 
報(bào)文標(biāo)識(shí)符 PackageIdentifier [messageId]
 
標(biāo)識(shí)符作用:
 
2個(gè)字節(jié)最大65535
 
這些報(bào)文類(lèi)型需要:PUBLISH(QoS > 0), PUBACK, PUBREL, PUBCOMP, SUBSCRIBE,SUBACK, UNSUSCRIBE,UNSUBACK
 
重發(fā)使用相同的標(biāo)識(shí)符
 
確認(rèn)后釋放標(biāo)識(shí)符
 
有效載荷Payload
 
以下這些報(bào)文類(lèi)型才有payload:
 
CONNECT(用戶(hù)名密碼,遺囑消息,遺囑topic,客戶(hù)端標(biāo)識(shí)),
 
PUBLISH(可有可無(wú),根據(jù)實(shí)際情況),
 
SUBSCRIBE(訂閱的topic信息集合),
 
SUBACK(按順序返回的訂閱的topic的報(bào)文質(zhì)量等級(jí)集合)
 
UNSUBSCRIBE(取消訂閱的topic信息集合)
 
報(bào)文類(lèi)型處理邏輯(接收方的處理邏輯)
 
CONNECT 連接服務(wù)端 客戶(hù)端--服務(wù)端
 
報(bào)文解析錯(cuò)誤:
 
如果報(bào)文解析錯(cuò)誤,連接失敗
 
如果解析的報(bào)文標(biāo)識(shí)符不合法,連接失敗
 
報(bào)文解析成功
 
重發(fā)QoS1的未完成的消息
 
重發(fā)QoS2的未完成的消息
 
連接成功,保存會(huì)話(huà)信息
 
連接成功,回會(huì)CONNACK報(bào)文給客戶(hù)端
 
如果之前保存的會(huì)話(huà)信息,cleanSession == true,需要清空保存的session,訂閱信息,需要重發(fā)的發(fā)布QoS1報(bào)文,需要重發(fā)的發(fā)布的QoS2的報(bào)文
 
關(guān)閉之前的保存的會(huì)話(huà)
 
如果報(bào)文標(biāo)識(shí)符不存在,連接失敗
 
如果用戶(hù)密碼驗(yàn)證失敗,連接失敗
 
如果是會(huì)話(huà)中已經(jīng)存在該連接,說(shuō)明是發(fā)送重復(fù)的連接報(bào)文
 
檢查心跳包,將已經(jīng)存在的心跳包的間隔時(shí)間,更新成客戶(hù)端指定的時(shí)間
 
如果連接報(bào)文中存在遺囑消息,需要將遺囑消息保存在本次連接的會(huì)話(huà)對(duì)象中
 
如果本次連接的報(bào)文cleanSession == false,也就是不清理會(huì)話(huà),如果是客戶(hù)端重連的,可能存在服務(wù)端有部分信息沒(méi)有發(fā)送出去,需要重新發(fā)送給該客戶(hù)端
 
CONNACK 確認(rèn)連接請(qǐng)求 服務(wù)端--客戶(hù)端
 
客戶(hù)端確認(rèn)連接成功
 
PUBLISH 發(fā)布消息 雙向
 
客戶(hù)端發(fā)送給服務(wù)端,是為了將報(bào)文分發(fā)到其他訂閱匹配的客戶(hù)端
 
服務(wù)端發(fā)送給客戶(hù)端,是為了發(fā)消息給匹配訂閱的客戶(hù)端
 
根據(jù)不同的質(zhì)量等級(jí)進(jìn)行不同的回復(fù)報(bào)文
 
QoS 0 直接publish消息即可
 
QoS 1 PUBLISH消息之后,還需要回復(fù)PUBACK給來(lái)源客戶(hù)端
 
Qos 2 PUBLISH消息之后,還需要回復(fù)PUBREC給來(lái)源客戶(hù)端 (后續(xù)客戶(hù)端端發(fā)送PUBREL,再服務(wù)端發(fā)送PUBCOMP完成整個(gè)生命周期)
 
如果是保留消息,需要覆蓋之前保存的保留消息
 
PUBACK 發(fā)布確認(rèn) 雙向
 
帶著messageId回復(fù)發(fā)布方,通知發(fā)布成功
 
PUBAREC 發(fā)布收到 雙向
 
帶著messageId回復(fù)發(fā)布方,通知收到了發(fā)布報(bào)文
 
PUBREL 發(fā)布釋放 雙向
 
帶著messageId回復(fù)接收方,可以釋放報(bào)文
 
PUBCOMP 發(fā)布完成 雙向
 
帶著messageId回復(fù)發(fā)布方,可以發(fā)布完成了
 
SUBSCRIBE 訂閱主題 客戶(hù)端--服務(wù)端
 
根據(jù)訂閱的主題列表,
 
保存訂閱信息
 
回復(fù)SUBACK,按順序返回訂閱報(bào)文中的報(bào)文質(zhì)量等級(jí)集合
 
根據(jù)訂閱的主題,處理服務(wù)端保留信息,立即PUBLISH給客戶(hù)端
 
SUBACK 訂閱確認(rèn) 服務(wù)端-- 客戶(hù)端
 
客戶(hù)端確認(rèn)訂閱成功
 
UNSUBSCRIBE 取消訂閱 客戶(hù)端--服務(wù)端
 
移除掉該客戶(hù)端保存的訂閱主題
 
回復(fù)UNSUBACK報(bào)文
 
UNSUBACK 訂閱確認(rèn) 服務(wù)端-- 客戶(hù)端
 
客戶(hù)端確認(rèn)取消訂閱成功
 
PINGREQ 心跳請(qǐng)求 客戶(hù)端--服務(wù)端
 
返回客戶(hù)端PINGRESP報(bào)文
 
PINGRESP 心跳響應(yīng) 服務(wù)端--客戶(hù)端
 
收到報(bào)文確認(rèn)服務(wù)端正常

 

免責(zé)聲明:本網(wǎng)站部分文章、圖片等信息來(lái)源于網(wǎng)絡(luò),版權(quán)歸原作者平臺(tái)所有,僅用于學(xué)術(shù)分享,如不慎侵犯了你的權(quán)益,請(qǐng)聯(lián)系我們,我們將做刪除處理!


產(chǎn)品系列

工業(yè)智能網(wǎng)關(guān)
物通博聯(lián)·WG系列工業(yè)智能網(wǎng)關(guān)是一款支持采集各種PLC,儀器儀表,水環(huán)保,電力設(shè)備,CNC等各種工業(yè)設(shè)備數(shù)據(jù),具有協(xié)議解析,邊緣計(jì)算的高可靠性工業(yè)智能網(wǎng)關(guān),是構(gòu)建工業(yè)互聯(lián)網(wǎng)系統(tǒng)的核心邊緣節(jié)點(diǎn)。
了解更多
工業(yè)數(shù)采終端
物通博聯(lián)·WD系列工業(yè)數(shù)采終端,主要實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)工業(yè)設(shè)備的數(shù)字量DI、DO,模擬量AI,AO的采集和控制,實(shí)現(xiàn)LORA本地組網(wǎng)和4G數(shù)據(jù)上云的功能,從而實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)傳感器、執(zhí)行機(jī)構(gòu)、指示燈等數(shù)采和控制。
LoRa終端
LoRa網(wǎng)關(guān)
DTU
RTU
4G無(wú)線(xiàn)IO
WIFI無(wú)線(xiàn)IO
了解更多
工業(yè)聯(lián)網(wǎng)終端
物通博聯(lián)·工業(yè)聯(lián)系終端包含WR系列工業(yè)無(wú)線(xiàn)路由、WC系列網(wǎng)段隔離器和WS系列工業(yè)交換機(jī)。 支持5G/4G/WIFI/以太網(wǎng)等方式聯(lián)網(wǎng)接入,支持VPN組網(wǎng),為現(xiàn)場(chǎng)設(shè)備提供低時(shí)延、高可靠、高安全的網(wǎng)絡(luò)接入,從而實(shí)現(xiàn)大規(guī)模設(shè)備組網(wǎng)應(yīng)用。
了解更多
設(shè)備遠(yuǎn)程維護(hù)系統(tǒng)
物通博聯(lián)·設(shè)備遠(yuǎn)程維護(hù)系統(tǒng)是一套實(shí)現(xiàn)對(duì)分散式設(shè)備遠(yuǎn)程維護(hù)和運(yùn)營(yíng)的軟硬件系統(tǒng),為工程師搭建一條通往遠(yuǎn)端設(shè)備現(xiàn)場(chǎng)的安全數(shù)據(jù)通道,實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)設(shè)備(PLC)的遠(yuǎn)程配置、遠(yuǎn)程診斷、遠(yuǎn)程調(diào)試和遠(yuǎn)程升級(jí)程序。
設(shè)備遠(yuǎn)程配置
設(shè)備遠(yuǎn)程調(diào)試
遠(yuǎn)程上下載程序
設(shè)備遠(yuǎn)程維護(hù)
設(shè)備遠(yuǎn)程監(jiān)控
設(shè)備預(yù)防式維護(hù)
了解更多
工業(yè)設(shè)備數(shù)據(jù)平臺(tái)
物通博聯(lián)·工業(yè)設(shè)備數(shù)據(jù)平臺(tái)是一款高并發(fā)的工業(yè)設(shè)備遠(yuǎn)程管理和工業(yè)設(shè)備數(shù)據(jù)可視化的云平臺(tái),廣泛應(yīng)用于智能工廠(chǎng)數(shù)采中臺(tái)、遠(yuǎn)程設(shè)備運(yùn)營(yíng)管理平臺(tái)、各行業(yè)的物聯(lián)網(wǎng)數(shù)據(jù)云平臺(tái)等。
海量設(shè)備接入
高效數(shù)據(jù)采集
豐富組態(tài)控件
強(qiáng)大的數(shù)據(jù)分析
預(yù)防式設(shè)備維護(hù)
豐富的API接口
了解更多
設(shè)備遠(yuǎn)程接入平臺(tái)
物通博聯(lián)·設(shè)備遠(yuǎn)程接入云平臺(tái)是一款針對(duì)分布式設(shè)備數(shù)據(jù)實(shí)時(shí)監(jiān)測(cè)的快速接入平臺(tái),采用SAAS云服務(wù)方式為工業(yè)現(xiàn)場(chǎng)的各種工業(yè)設(shè)備的數(shù)據(jù)互通互聯(lián)建立實(shí)時(shí)在線(xiàn)的數(shù)據(jù)通道。
分布式項(xiàng)目監(jiān)控
設(shè)備互通互聯(lián)
無(wú)需公網(wǎng)IP
快速低成本接入
實(shí)時(shí)在線(xiàn)通道
點(diǎn)對(duì)點(diǎn)通信
了解更多

物通博聯(lián),助您開(kāi)啟工業(yè)數(shù)字化和智能化之路

申請(qǐng)樣機(jī)
在線(xiàn)
咨詢(xún)
免費(fèi)
試用
主站蜘蛛池模板: 鲁鲁鲁狠在线视频| 免费观看视频成人国产| 久久一本综合| 国产精品短篇二区| 黄在线视频播放免费网站| 国产白白视频在线观看2| 国产精品亚洲一区二区三区| 精品视频在线观看一区二区三区| 国产精品久久久久9999赢消| 男女无遮挡边做边吃视频免费| 久久婷五月| 大香焦久久| 国产福利网| 九九99久久精品国产| 免费特黄一区二区三区视频一| 国产小视频在线观看| 久久久久综合中文字幕| 国产一级影片| 国产末成年女av片| 美女很黄很黄免费的| 黄色录像特级| 开心激情亚洲| 国产ts在线播放| 国产精品久久久久久久久岛| 国产成人99| 国产区一区二| 成人肌肌对肌肌在现观看| 精品国产成人在线| 国产99视频精品免视看7| 久久成人亚洲香蕉草草| 老司机午夜性生免费福利| 成人黄色激情视频| 国产h视频在线| 成年女人免费视频播放77777| 成人国产精品免费视频| 好爽快点我受不了了国产| 国产精品夜色一区二区三区| 久久99热狠狠色一区二区| 国内精品综合九九久久精品| 黄色国产精品| 国自产在线精品免费|