久久人人爽人人爽人人片AV东京热_东京热无码av一区二区_麻豆午夜福利国产高潮偷啪_国产在线无码精品无码 H番动漫在线观看_少妇精品久久久久久_国产一区韩国一区亚洲一区电影_精品精品亚洲高清a毛片

問答中心

Answer Center

下載中心

視頻中心

常見問題

售后服務

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

時間:2022-11-05 14:26:42 

點擊:5194 

關鍵詞:報文,mqtt,報文格式 

問題
報文是什么意思?mqtt協(xié)議報文格式詳解

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

 

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


產(chǎn)品系列

工業(yè)數(shù)據(jù)采集
物通博聯(lián)工業(yè)數(shù)據(jù)采集產(chǎn)品包含WG系列工業(yè)智能網(wǎng)關、WD系列工業(yè)數(shù)采終端、工業(yè)無線IO、車載智能網(wǎng)關等多種產(chǎn)品,實現(xiàn)各種工業(yè)場景數(shù)據(jù)采集。
了解更多
工業(yè)智能網(wǎng)關
物通博聯(lián)·WG系列工業(yè)智能網(wǎng)關是一款支持采集各種PLC,儀器儀表,水環(huán)保,電力設備,CNC等各種工業(yè)設備數(shù)據(jù),具有協(xié)議解析,邊緣計算的高可靠性工業(yè)智能網(wǎng)關,是構建工業(yè)互聯(lián)網(wǎng)系統(tǒng)的核心邊緣節(jié)點。
了解更多
工業(yè)數(shù)采終端
物通博聯(lián)·WD系列工業(yè)數(shù)采終端,主要實現(xiàn)對現(xiàn)場工業(yè)設備的數(shù)字量DI、DO,模擬量AI,AO的采集和控制,實現(xiàn)LORA本地組網(wǎng)和4G數(shù)據(jù)上云的功能,從而實現(xiàn)對現(xiàn)場傳感器、執(zhí)行機構、指示燈等數(shù)采和控制。
LoRa終端
LoRa網(wǎng)關
DTU
RTU
4G無線IO
WIFI無線IO
了解更多
工業(yè)網(wǎng)絡通信
物通博聯(lián)工業(yè)網(wǎng)絡通信產(chǎn)品聚焦工業(yè)場景的穩(wěn)定互聯(lián)需求,核心涵蓋WR 系列工業(yè)無線路由器與WS 系列工業(yè)交換機兩大品類。依托工業(yè)級硬件設計與智能化功能配置,可構建有線無線融合、安全可靠的工業(yè)通信網(wǎng)絡。
了解更多
工業(yè)路由器
物通博聯(lián)·WR系列工業(yè)無線路由,是一款支持5G/4G/WIFI/以太網(wǎng)等方式聯(lián)網(wǎng)接入,支持5G/4G組網(wǎng)、WIFI組網(wǎng)、VPN組網(wǎng),為現(xiàn)場設備提供低時延、高可靠、高安全的網(wǎng)絡接入,從而實現(xiàn)大規(guī)模設備組網(wǎng)應用。
5G/4G蜂窩組網(wǎng)
WiFi本地組網(wǎng)
VPN虛擬組網(wǎng)
斷網(wǎng)重連
遠程管理
高安全可靠
了解更多
工業(yè)交換機
物通博聯(lián)·WS系列工業(yè)交換機為客戶提供完整系列的工業(yè)以太網(wǎng)交換機,產(chǎn)品類別豐富,具備高穩(wěn)定性、高可靠性與安全性,維護簡單方便;擁有電源冗余、網(wǎng)絡冗余等多重冗余備份保障;廣泛應用于智能電網(wǎng)、軌道交通、智慧城市、平安城市、新能源、智能制造等工業(yè)領域。
數(shù)據(jù)傳輸
高速性能
網(wǎng)絡冗余
集成安全
安全可靠
工業(yè)設計
了解更多
協(xié)議及接口轉(zhuǎn)換
物通博聯(lián)協(xié)議及接口轉(zhuǎn)換產(chǎn)品,聚焦工業(yè)場景下的協(xié)議適配與網(wǎng)絡安全需求,核心涵蓋網(wǎng)段隔離器、協(xié)議轉(zhuǎn)換器兩大品類,可高效解決設備協(xié)議不兼容、網(wǎng)段沖突、數(shù)據(jù)傳輸安全等問題,為工業(yè)系統(tǒng)的穩(wěn)定互聯(lián)與數(shù)字化升級提供關鍵支撐。
了解更多
網(wǎng)段隔離器
物通博聯(lián)WC系列網(wǎng)段隔離器適用于生產(chǎn)網(wǎng)絡對 PLC、HMI、CNC、DCS、MES等網(wǎng)絡通訊和數(shù)據(jù)采集,兼有跨網(wǎng)段隔離和IP轉(zhuǎn)換的功能。車間多個設備,如果有不同網(wǎng)段的IP地址,則可以統(tǒng)一成同一網(wǎng)段的IP地址,進行設備(PLC、CNC)的在線編程、數(shù)據(jù)采集、遠程管理等各種跨網(wǎng)段訪問。
IP重命名
跨網(wǎng)段訪問
網(wǎng)絡隔離防護
VPN組網(wǎng)
NAT轉(zhuǎn)換
工業(yè)設計
了解更多
數(shù)字化平臺
物通博聯(lián)工業(yè)數(shù)字化平臺產(chǎn)品,聚焦工業(yè)全鏈路數(shù)字化管理需求,構建 “數(shù)據(jù)接入 - 分析 - 管控 - 應用” 的完整閉環(huán),核心涵蓋工業(yè) SCADA 軟件、工業(yè)物聯(lián)網(wǎng)平臺、設備管理平臺、設備接入平臺、能源管理平臺、車輛管理平臺等多個軟件平臺。通過打通設備層、邊緣層與應用層的數(shù)據(jù)壁壘,為工廠、裝備、制造、水利、環(huán)保、能源、交通等行業(yè)提供定制化數(shù)字化解決方案,助力企業(yè)實現(xiàn)生產(chǎn)可視化、管理智能化與運營高效化。
了解更多
工業(yè)設備數(shù)據(jù)平臺
物通博聯(lián)·工業(yè)設備數(shù)據(jù)平臺是一款高并發(fā)的工業(yè)設備遠程管理和工業(yè)設備數(shù)據(jù)可視化的云平臺,廣泛應用于智能工廠數(shù)采中臺、遠程設備運營管理平臺、各行業(yè)的物聯(lián)網(wǎng)數(shù)據(jù)云平臺等。
海量設備接入
高效數(shù)據(jù)采集
豐富組態(tài)控件
強大的數(shù)據(jù)分析
預防式設備維護
豐富的API接口
了解更多
設備遠程維護系統(tǒng)
物通博聯(lián)·設備遠程維護系統(tǒng)是一套實現(xiàn)對分散式設備遠程維護和運營的軟硬件系統(tǒng),為工程師搭建一條通往遠端設備現(xiàn)場的安全數(shù)據(jù)通道,實現(xiàn)對現(xiàn)場設備(PLC)的遠程配置、遠程診斷、遠程調(diào)試和遠程升級程序。
設備遠程配置
設備遠程調(diào)試
遠程上下載程序
設備遠程維護
設備遠程監(jiān)控
設備預防式維護
了解更多
設備遠程接入平臺
物通博聯(lián)·設備遠程接入云平臺是一款針對分布式設備數(shù)據(jù)實時監(jiān)測的快速接入平臺,采用SAAS云服務方式為工業(yè)現(xiàn)場的各種工業(yè)設備的數(shù)據(jù)互通互聯(lián)建立實時在線的數(shù)據(jù)通道。
分布式項目監(jiān)控
設備互通互聯(lián)
無需公網(wǎng)IP
快速低成本接入
實時在線通道
點對點通信
了解更多

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

申請樣機
在線
咨詢
免費
試用