91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MQTT 5協(xié)議中的基礎(chǔ)更改(二)

虹科工業(yè)物聯(lián)網(wǎng)技術(shù) ? 來源: 虹科工業(yè)物聯(lián)網(wǎng)技術(shù) ? 作者: 虹科工業(yè)物聯(lián)網(wǎng)技 ? 2023-05-16 10:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

上期文章中給大家介紹了MQTT規(guī)范版本5中基礎(chǔ)更改的信息和CONNACK返回碼,本篇文章我們繼續(xù)介紹MQTT5協(xié)議中的基礎(chǔ)更改中其他新功能的細(xì)節(jié)描述。

01 干凈啟動(dòng)

MQTT 3.1.1的其中一個(gè)主流功能是MQTT客戶端使用清除會(huì)話(cleanSession),即這些客戶端可以通過臨時(shí)連接的方式訂閱消息或根本不訂閱消息。當(dāng)連接到MQTT代理時(shí),客戶端必須選擇發(fā)送一個(gè)標(biāo)注啟用或禁用清除會(huì)話的CONNECT數(shù)據(jù)包。

在MQTT客戶端使用清除會(huì)話后,一旦出現(xiàn)底層TCP連接斷開、或客戶端決定斷開與代理的連接的情況,代理將會(huì)丟棄MQTT客戶端的所有數(shù)據(jù)。此外,如果在代理上存在與客戶端標(biāo)識(shí)符關(guān)聯(lián)的先前會(huì)話,清除會(huì)話CONNECT數(shù)據(jù)包將強(qiáng)制MQTT代理刪除歷史數(shù)據(jù)。

在MQTT v5中,客戶端可以選擇使用干凈啟動(dòng)(Clean Start)(由 CONNECT 消息中的“干凈啟動(dòng)”標(biāo)志指示)。使用這個(gè)標(biāo)志時(shí),代理會(huì)丟棄任何以前的會(huì)話數(shù)據(jù),客戶端則會(huì)開啟新的會(huì)話。關(guān)閉客戶端和服務(wù)器之間的 TCP 連接后,會(huì)話不會(huì)被自動(dòng)清理。要在客戶端斷開連接后觸發(fā)會(huì)話刪除,必須將“會(huì)話到期間隔”的新頭字段設(shè)置為值 0。

新的Clean Start功能簡(jiǎn)化了 MQTT 的會(huì)話處理,因?yàn)樗峁┝烁蟮撵`活性,并且比 cleanSession/持久會(huì)話概念更易于實(shí)現(xiàn)。使用 MQTT 5,除非“會(huì)話到期間隔”為 0,否則所有會(huì)話都是持久的。在超時(shí)后或客戶端使用干凈啟動(dòng)重新連接時(shí),將刪除會(huì)話。

02 額外的MQTT數(shù)據(jù)包

MQTT 5引入了一個(gè)新的MQTT數(shù)據(jù)包:AUTH數(shù)據(jù)包。這個(gè)新的數(shù)據(jù)包對(duì)于實(shí)現(xiàn)非簡(jiǎn)單的認(rèn)證機(jī)制非常有用。

AUTH數(shù)據(jù)包可以在建立連接后由MQTT代理和客戶端發(fā)送,以使用復(fù)雜的質(zhì)詢/響應(yīng)認(rèn)證方法(如SASL框架中定義的SCRAM或Kerberos)。也可以用于物聯(lián)網(wǎng)的最先進(jìn)的認(rèn)證方法,如OAuth。這個(gè)數(shù)據(jù)包還允許在不關(guān)閉連接的情況下對(duì)MQTT客戶端進(jìn)行重新認(rèn)證。

03 新的數(shù)據(jù)類型: UTF-8字符串對(duì)

自定義報(bào)頭的出現(xiàn)也需要引入一種新的數(shù)據(jù)類型:UTF-8字符串對(duì)。這種字符串對(duì)本質(zhì)上是一個(gè)鍵-值結(jié)構(gòu),鍵和值都是字符串?dāng)?shù)據(jù)類型,這種數(shù)據(jù)類型目前只用于自定義報(bào)頭。

有了這種新的數(shù)據(jù)類型,MQTT在網(wǎng)絡(luò)上共有7種不同的數(shù)據(jù)類型可以使用:

Bit

Two Byte Integer

Four Byte Integer

UTF-8 Encoded String

Variable Byte Integer

Binary Data

UTF-8 String Pair

大多數(shù)用戶通常在其 MQTT 庫(kù)的 API 中使用二進(jìn)制數(shù)據(jù)和 UTF-8 編碼字符串。在 MQTT 5 中,UTF-8 字符串對(duì)也經(jīng)常被使用。所有其他數(shù)據(jù)類型對(duì)用戶是隱藏的,但會(huì)被MQTT客戶端和代理制作成網(wǎng)絡(luò)上有效的MQTT數(shù)據(jù)包。

04 雙向的DISCONNECT數(shù)據(jù)包

在MQTT 3.1.1中,客戶端可以通過在關(guān)閉底層TCP連接之前,發(fā)送一個(gè)DISCONNECT數(shù)據(jù)包來表明它想斷開連接。MQTT代理沒有辦法通知MQTT客戶端發(fā)生了什么,并且代理將關(guān)閉TCP連接。

這一點(diǎn)在新的MQTT5中有所改變,現(xiàn)在允許代理在關(guān)閉套接字之前發(fā)送一個(gè)“MQTT DISCONNECT”包。客戶端現(xiàn)在能夠解釋它被斷開連接的原因并采取相應(yīng)的行動(dòng),代理不需要指出確切的原因(例如出于安全原因)。但至少對(duì)于開發(fā)中的應(yīng)用來說,這有助于找出代理關(guān)閉連接的原因。

當(dāng)然,DISCONNECT數(shù)據(jù)包可以攜帶Reason Codes,所以很容易指出斷開連接的原因(例如在無效權(quán)限的情況下)。

05 對(duì)QoS 1和2的消息不進(jìn)行重試

MQTT客戶端使用常設(shè)的TCP(或具有相同保證的類似協(xié)議)連接作為基礎(chǔ)傳輸。TCP連接正常時(shí)提供雙向連接,并且能保證消息符合恰好一次和按順序傳輸,因此所有客戶端或代理發(fā)送的MQTT數(shù)據(jù)包都會(huì)到達(dá)另一端。如果TCP連接中斷,而消息正在進(jìn)行時(shí),QoS 1和2會(huì)通過多個(gè)TCP 連接提供消息傳遞保證。

MQTT 3.1.1允許在TCP連接正常時(shí)重新交付MQTT消息。實(shí)際上,這可能會(huì)導(dǎo)致過載的MQTT客戶端得到更多的過載。試想一下,一個(gè)MQTT客戶端從MQTT代理處收到一個(gè)消息,需要11秒來處理這個(gè)消息(并且在處理后會(huì)確認(rèn)數(shù)據(jù)包)?,F(xiàn)在假設(shè),代理會(huì)在10秒的超時(shí)后重新發(fā)送消息。這種方法沒有任何優(yōu)勢(shì),它只是占用了帶寬,并加重了MQTT客戶端的負(fù)荷。

06 使用沒有用戶名的密碼

MQTT 3.1.1要求MQTT客戶端在CONNECT數(shù)據(jù)包中使用密碼時(shí)要發(fā)送一個(gè)用戶名。對(duì)于某些用例來說,如果沒有用戶名是非常不方便的。使用 OAuth就是一個(gè)很好的例子,它使用 JSON Web 令牌作為唯一的身份驗(yàn)證和授權(quán)信息。在 MQTT 3.1.1 中使用此類令牌時(shí),經(jīng)常使用靜態(tài)用戶名,因?yàn)槲ㄒ坏南嚓P(guān)信息在密碼字段中。

雖然MQTT 5 中有更簡(jiǎn)便的方式來攜帶令牌(例如通過 AUTH 數(shù)據(jù)包),但仍然可以使用 CONNECT 數(shù)據(jù)包的密碼字段。現(xiàn)在,用戶只需使用密碼字段,不再需要填寫用戶名。

07 虹科HiveMQ MQTT解決方案

虹科HiveMQ 是一個(gè)基于 MQTT 數(shù)據(jù)傳輸?shù)?a href="http://m.makelele.cn/v/tag/1301/" target="_blank">通信平臺(tái),旨在將數(shù)據(jù)快速、高效、可靠地傳遞給連接的物聯(lián)網(wǎng)設(shè)備,HiveMQ 使用 MQTT 協(xié)議在設(shè)備和企業(yè)平臺(tái)之間進(jìn)行實(shí)時(shí)、雙向的數(shù)據(jù)推送。

wKgZomRi7nuAYf7IAABNxlBCX3o67.webp

虹科HiveMQ 的建立是為了解決企業(yè)在構(gòu)建新的物聯(lián)網(wǎng)應(yīng)用時(shí)面臨的一些關(guān)鍵技術(shù)挑戰(zhàn),包括:

構(gòu)建可靠、可擴(kuò)展的關(guān)鍵業(yè)務(wù)物聯(lián)網(wǎng)應(yīng)用

快速的數(shù)據(jù)交付,以滿足終端用戶對(duì)響應(yīng)式物聯(lián)網(wǎng)產(chǎn)品的期望

通過有效利用硬件、網(wǎng)絡(luò)和云資源降低運(yùn)營(yíng)成本

將物聯(lián)網(wǎng)數(shù)據(jù)整合到現(xiàn)有的企業(yè)系統(tǒng)中

虹科HiveMQ 提供免費(fèi)版、專業(yè)版、企業(yè)版 MQTT Broker 產(chǎn)品,并提供 Kafka、企業(yè)安全及 MQTT Broker 橋接三種企業(yè)級(jí)擴(kuò)展套件,HiveMQ 還提供高效的 MQTT 客戶端及云平臺(tái),多方位滿足用戶需求。

wKgaomRi7nyACBWrAACVmsyI9Eg67.webp

更多精彩資訊 歡迎關(guān)注博主

審核編輯黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2945

    文章

    47820

    瀏覽量

    415065
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    733

    瀏覽量

    25094
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MQTT協(xié)議為什么成為物聯(lián)網(wǎng)協(xié)議

    MQTT協(xié)議之所以成為物聯(lián)網(wǎng)領(lǐng)域的核心通信協(xié)議,主要得益于其 輕量級(jí)設(shè)計(jì)、高效資源利用、靈活可靠的消息傳遞機(jī)制、強(qiáng)大的安全支持以及廣泛的生態(tài)兼容性 ,這些特性精準(zhǔn)解決了物聯(lián)網(wǎng)設(shè)備在資源受限、網(wǎng)絡(luò)
    的頭像 發(fā)表于 12-10 09:15 ?450次閱讀

    MQTT網(wǎng)關(guān)支持5G通信嗎

    MQTT網(wǎng)關(guān)可以支持5G通信 ,且在實(shí)際應(yīng)用,5G與MQTT協(xié)議的結(jié)合為物聯(lián)網(wǎng)領(lǐng)域帶來了顯著優(yōu)
    的頭像 發(fā)表于 12-08 11:13 ?726次閱讀

    北向MQTT工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)是什么

    北向MQTT工業(yè)網(wǎng)關(guān)是工業(yè)物聯(lián)網(wǎng)連接底層設(shè)備與上層云平臺(tái)的核心設(shè)備,其核心功能是通過MQTT協(xié)議實(shí)現(xiàn)設(shè)備數(shù)據(jù)的高效、可靠上傳,并支持云端對(duì)設(shè)備的遠(yuǎn)程監(jiān)控與管理。 以下從定義、功能、應(yīng)
    的頭像 發(fā)表于 12-02 11:13 ?496次閱讀

    工業(yè)智能網(wǎng)關(guān)可以通過MQTT協(xié)議對(duì)接到哪些平臺(tái)

    、規(guī)則引擎等功能。 典型應(yīng)用:工業(yè)設(shè)備數(shù)據(jù)實(shí)時(shí)上傳至阿里云,結(jié)合大數(shù)據(jù)分析優(yōu)化生產(chǎn)流程。 華為云IoT平臺(tái) 通過MQTT協(xié)議實(shí)現(xiàn)設(shè)備與云端的雙向通信,支持海量設(shè)備連接。 典型應(yīng)用:能源管理場(chǎng)景,傳感器數(shù)據(jù)經(jīng)網(wǎng)關(guān)轉(zhuǎn)換后上傳至華為
    的頭像 發(fā)表于 09-29 11:29 ?673次閱讀

    MQTT_協(xié)議中文資料

    電子發(fā)燒友網(wǎng)站提供《MQTT_協(xié)議中文資料.pdf》資料免費(fèi)下載
    發(fā)表于 09-02 16:19 ?0次下載

    物聯(lián)網(wǎng)MQTT網(wǎng)關(guān)是什么

    物聯(lián)網(wǎng)MQTT網(wǎng)關(guān)是一種采用MQTT物聯(lián)網(wǎng)協(xié)議的智能設(shè)備或軟件組件,其核心功能是連接不同通信協(xié)議的物聯(lián)網(wǎng)設(shè)備與消息代理服務(wù)器,實(shí)現(xiàn)設(shè)備間的數(shù)據(jù)交換與集中管理,同時(shí)支持邊緣計(jì)算、安全防護(hù)
    的頭像 發(fā)表于 08-29 15:24 ?1018次閱讀

    通過MQTT協(xié)議能接入工業(yè)物聯(lián)網(wǎng)云平臺(tái)中嗎

    通過MQTT協(xié)議完全可以接入工業(yè)物聯(lián)網(wǎng)云平臺(tái),且因其輕量、高效、可靠等特性,已成為工業(yè)物聯(lián)網(wǎng)場(chǎng)景的主流通信協(xié)議之一。
    的頭像 發(fā)表于 08-26 18:03 ?841次閱讀

    GraniStudio :MQTT 協(xié)議的深度剖析

    在工業(yè)物聯(lián)網(wǎng)(IIoT)的通信協(xié)議體系,MQTT(Message Queuing Telemetry Transport)憑借其輕量級(jí)、發(fā)布 - 訂閱模式和低帶寬占用等特性,成為連接邊緣設(shè)備與云端
    的頭像 發(fā)表于 08-04 09:48 ?1035次閱讀
    GraniStudio :<b class='flag-5'>MQTT</b> <b class='flag-5'>協(xié)議</b>的深度剖析

    簡(jiǎn)析Modbus和MQTT協(xié)議

    Modbus和MQTT協(xié)議在設(shè)計(jì)目標(biāo)、通信模式、應(yīng)用場(chǎng)景、網(wǎng)絡(luò)結(jié)構(gòu)、數(shù)據(jù)傳輸效率、設(shè)備兼容性及安全性等方面存在顯著差異,具體分析如下: 一、設(shè)計(jì)目標(biāo)與定位 Modbus :誕生于1979年,由施耐德
    的頭像 發(fā)表于 07-10 14:25 ?782次閱讀

    精通 MQTT:消息隊(duì)列遙測(cè)傳輸指南!

    引言MQTT(消息隊(duì)列遙測(cè)傳輸)是一種輕量級(jí)消息協(xié)議,專為低帶寬、高延遲和不可靠的網(wǎng)絡(luò)環(huán)境設(shè)計(jì)。它廣泛應(yīng)用于物聯(lián)網(wǎng)(IoT)應(yīng)用、消息系統(tǒng)以及實(shí)時(shí)數(shù)據(jù)通信領(lǐng)域。本指南深入探討了MQTT的工作原理
    的頭像 發(fā)表于 06-16 16:56 ?1030次閱讀
    精通 <b class='flag-5'>MQTT</b>:消息隊(duì)列遙測(cè)傳輸指南!

    MQTT 回調(diào)處理程序遇到了隨機(jī) MQTT 斷開連接的問題,怎么解決?

    MCU:CYW55913。 MQTT Broker 端點(diǎn):Amazon AWS 云。 保持活動(dòng)超時(shí):60 秒 ping 響應(yīng)超時(shí):5 秒 我們?cè)?MQTT 回調(diào)處理程序遇到了隨機(jī)
    發(fā)表于 06-05 07:14

    MQTT為何成為物聯(lián)網(wǎng)協(xié)議

    的優(yōu)勢(shì),以下為你詳細(xì)介紹: 輕量級(jí)特性,適配資源受限設(shè)備 協(xié)議頭開銷小 :MQTT協(xié)議頭非常簡(jiǎn)潔,相比其他協(xié)議,它在數(shù)據(jù)傳輸時(shí)添加的額外信息極少。例如,在一個(gè)簡(jiǎn)單的物聯(lián)網(wǎng)設(shè)備向服務(wù)器發(fā)
    的頭像 發(fā)表于 05-20 09:54 ?839次閱讀

    KaihongOS操作系統(tǒng):MQTT物聯(lián)網(wǎng)通訊協(xié)議

    @ohos.net.khMqtt (MQTT物聯(lián)網(wǎng)通訊協(xié)議) 說明: 本模塊首批接口從API version 8開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。 目前支持3.1.1
    發(fā)表于 05-08 07:51

    《DNESP32S3使用指南-IDF版_V1.6》第五十五章 基于MQTT協(xié)議連接阿里云服務(wù)器

    的消息發(fā)布/訂閱傳輸協(xié)議。MQTT 協(xié)議是輕量、簡(jiǎn)單開放和易于實(shí)現(xiàn)的,這些特點(diǎn)使它適用范圍非常廣泛。在很多情況下,包括受限境,如:機(jī)器與機(jī)器(M2M)通信和物聯(lián)網(wǎng)(IoT)。其在,通
    發(fā)表于 03-18 09:22

    MQTT物聯(lián)網(wǎng)平臺(tái)有哪些?有哪些功能?

    MQTT(Message Queuing Telemetry Transport)是一種基于客戶端-服務(wù)器架構(gòu)的發(fā)布/訂閱模式的消息傳輸協(xié)議,它廣泛應(yīng)用于機(jī)器與機(jī)器的通信(M2M)以及物聯(lián)網(wǎng)環(huán)境
    的頭像 發(fā)表于 03-15 14:23 ?1465次閱讀
    <b class='flag-5'>MQTT</b>物聯(lián)網(wǎng)平臺(tái)有哪些?有哪些功能?