国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

MQTT

lastSeries / 3515人閱讀

摘要:協(xié)議版本介紹互聯(lián)網(wǎng)的基礎(chǔ)網(wǎng)絡(luò)協(xié)議是協(xié)議消息隊(duì)列遙測(cè)傳輸是基于協(xié)議棧而構(gòu)建的已成為通信的標(biāo)準(zhǔn)為什么選擇有多好多好多么牛逼我就不說(shuō)了說(shuō)的再多不如一個(gè)一個(gè)試試完了做比對(duì)剩下的那個(gè)就是要選擇的實(shí)在不想這樣搞技術(shù)就跟著一線走發(fā)布和訂閱模型協(xié)議在網(wǎng)絡(luò)中

mqtt 協(xié)議版本: 3.1.1
MQTT 介紹

互聯(lián)網(wǎng)的基礎(chǔ)網(wǎng)絡(luò)協(xié)議是 TCP/IP協(xié)議.

MQTT(消息隊(duì)列遙測(cè)傳輸)是基于 TCP/IP 協(xié)議棧而構(gòu)建的, 已成為 IoT 通信的標(biāo)準(zhǔn).

為什么選擇 MQTT

MQTT 有多好多好, 多么牛逼我就不說(shuō)了. 說(shuō)的再多不如一個(gè)一個(gè)試, 試完了做比對(duì), 剩下的那個(gè)就是要選擇的.

實(shí)在不想這樣搞, 技術(shù)就跟著一線走.

發(fā)布和訂閱模型

MQTT 協(xié)議在網(wǎng)絡(luò)中定義了兩種實(shí)體類型: 一個(gè)消息代理和一些客戶端.

代理是一個(gè)服務(wù)器, 它從客戶端接收所有消息, 然后將這些消息路由到相關(guān)的目標(biāo)客戶端. 客戶端就是能夠與代理交互來(lái)發(fā)送和接收消息的.

客戶端連接到代理. 它可以訂閱代理中的任何消息 “主題”. 此連接可以是簡(jiǎn)單的 TCP/IP 連接, 也可以是用于發(fā)送敏感消息的加密 TLS 連接.

客戶端通過(guò)將消息和主題發(fā)送給代理, 代理然后將消息轉(zhuǎn)發(fā)給所有訂閱該主題的客戶端.

因?yàn)?MQTT 消息是按主題進(jìn)行組織的, 所以應(yīng)用程序開(kāi)發(fā)人員能靈活地指定某些客戶端只能與某些消息交互.

上圖我們有兩個(gè)主題分別是 config_change device_data.

設(shè)備將在 device_data 主題上發(fā)布設(shè)備數(shù)據(jù), 經(jīng)過(guò) Broker 發(fā)送給所有訂閱者接收(這里的訂閱者是數(shù)據(jù)處理和存儲(chǔ)).

而我們的設(shè)備控制器將命令發(fā)布到 config_change 主題, 經(jīng)過(guò) Broker 發(fā)送給所有訂閱者接收(這里的訂閱者是設(shè)備).

?? Broker = 代理 = MQTT 服務(wù)器
MQTT Broker 選擇

下面介紹幾款MQTT服務(wù)器:

Apache-Apollo: 一個(gè)代理服務(wù)器, 在 ActiveMQ 基礎(chǔ)上發(fā)展而來(lái), 可以支持 STOMP、AMQP、MQTT、Openwire、SSL和WebSockets 等多種協(xié)議, 并且 Apollo 提供后臺(tái)管理頁(yè)面, 方便開(kāi)發(fā)者管理和調(diào)試.

EMQ: 號(hào)稱百萬(wàn)級(jí)開(kāi)源MQTT消息服務(wù)器, 基于 Erlang/OTP 語(yǔ)言平臺(tái)開(kāi)發(fā), 支持大規(guī)模連接和分布式集群, 發(fā)布訂閱模式的開(kāi)源MQTT消息服務(wù)器.

HiveMQ: 一個(gè)企業(yè)級(jí)的MQTT代理,主要用于企業(yè)和新興的機(jī)器到機(jī)器M2M通訊和內(nèi)部傳輸, 最大程度的滿足可伸縮性、易管理和安全特性, 提供免費(fèi)的個(gè)人版. HiveMQ提供了開(kāi)源的插件開(kāi)發(fā)包.

Mosquitto: 一款實(shí)現(xiàn)了消息推送協(xié)議MQTT v3.1的開(kāi)源消息代理軟件, 提供輕量級(jí)的、支持可發(fā)布/訂閱的消息推送模式.

了解 MQTT 協(xié)議

更詳細(xì)的協(xié)議介紹在這里

MQTT 是一種連接協(xié)議, 它指定了如何組織數(shù)據(jù)字節(jié)并通過(guò) TCP/IP 網(wǎng)絡(luò)傳輸它們. 但實(shí)際上, 開(kāi)發(fā)人員并不需要了解這個(gè)連接協(xié)議.

所有 MQTT 庫(kù)和工具都提供了直接處理這些消息的簡(jiǎn)單方法, 并能自動(dòng)填充一些必需的字段, 比如消息和客戶端 ID.

首先, 客戶端發(fā)送一條 CONNECT 消息來(lái)連接代理. CONNECT 消息要求建立從客戶端到代理的連接. CONNECT 消息包含以下內(nèi)容參數(shù).

表 1. CONNECT 消息參數(shù)

參數(shù) 說(shuō)明
cleanSession 此標(biāo)志指定連接是否是持久性的. 持久會(huì)話會(huì)將所有訂閱和可能丟失的消息 (具體取決于 QoS) 都存儲(chǔ)在代理中 (請(qǐng)參閱 表 3 獲取 QoS 的描述)
username 代理的身份驗(yàn)證和授權(quán)憑證
password 代理的身份驗(yàn)證和授權(quán)憑證
lastWillTopic 連接意外中斷時(shí),代理會(huì)自動(dòng)向某個(gè)主題發(fā)送一條 “l(fā)ast will” 消息.
lastWillQos “l(fā)ast will” 消息的 QoS. (請(qǐng)參閱 表 3 來(lái)查看 QoS 的描述)
lastWillMessage “l(fā)ast will” 消息本身
keepAlive 這是客戶端通過(guò) ping 代理來(lái)保持連接有效所需的時(shí)間間隔

客戶端收到來(lái)自代理的一條 CONNACK 消息. CONNACK 消息包含以下內(nèi)容參數(shù).

表 2. CONNACK 消息參數(shù)

參數(shù) 說(shuō)明
sessionPresent 此參數(shù)表明連接是否已有一個(gè)持久會(huì)話. 也就是說(shuō), 連接已訂閱了主題, 而且會(huì)接收丟失的消息.
returnCode 0 表示成功. 其他值指出了失敗的原因.

建立連接后, 客戶端向代理發(fā)送一條或多條 SUBSCRIBE 消息, 表明它會(huì)從代理接收針對(duì)某些主題的消息. 如表 3.

表 3. SUBSCRIBE 消息參數(shù)

參數(shù) 說(shuō)明
qos 表明此主題范圍內(nèi)的消息傳送到客戶端所需的一致程度. 值 0:不可靠, 消息基本上僅傳送一次, 如果當(dāng)時(shí)客戶端不可用, 則會(huì)丟失該消息. 值 1:消息應(yīng)傳送至少 1 次. 值 2:消息僅傳送一次.
topic 要訂閱的主題. 一個(gè)主題可以有多個(gè)級(jí)別, 級(jí)別之間用斜杠字符分隔. 例如, “dw/demo” 和 “ibm/bluemix/mqtt” 是有效的主題.

客戶端成功訂閱某個(gè)主題后, 代理會(huì)返回一條 SUBACK 消息, 其中包含一個(gè)或多個(gè) returnCode 參數(shù).

表 4. SUBACK 消息參數(shù)

參數(shù) 說(shuō)明
returnCode SUBCRIBE 命令中的每個(gè)主題都有一個(gè)返回代碼. 值 0 - 2:成功達(dá)到相應(yīng)的 QoS 級(jí)別. 值 128:失敗.

與 SUBSCRIBE 消息對(duì)應(yīng), 客戶端也可以通過(guò) UNSUBSCRIBE 消息取消訂閱一個(gè)或多個(gè)主題.

表 5. UNSUBSCRIBE 消息參數(shù)

參數(shù) 說(shuō)明
topic 此參數(shù)可重復(fù)用于多個(gè)主題.

客戶端可向代理發(fā)送 PUBLISH 消息. 該消息包含一個(gè)主題和數(shù)據(jù). 代理將消息轉(zhuǎn)發(fā)給所有訂閱該主題的客戶端.

表 6. PUBLISH 消息參數(shù)

參數(shù) 說(shuō)明
topicName 發(fā)布消息的相關(guān)主題.
qos 消息傳遞的服務(wù)質(zhì)量水平.
retainFlag 此標(biāo)志表明代理是否保留該消息作為針對(duì)此主題的最后一條已知消息.
payload 消息中的實(shí)際數(shù)據(jù). 它可以是文本字符串或二進(jìn)制大對(duì)象數(shù)據(jù).

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/72327.html

相關(guān)文章

  • ESP32學(xué)習(xí)筆記(46)——MQTT客戶端

    摘要:一簡(jiǎn)介實(shí)現(xiàn)方式實(shí)現(xiàn)協(xié)議需要客戶端和服務(wù)器端通訊完成,在通訊過(guò)程中,協(xié)議中有三種身份發(fā)布者代理服務(wù)器訂閱者。其中,消息的發(fā)布者和訂閱者都是客戶端,消息代理是服務(wù)器,消息發(fā)布者可以同時(shí)是訂閱者。 ...

    Jenny_Tong 評(píng)論0 收藏0
  • MQTT如何快速助你產(chǎn)品化

    摘要:時(shí)間就是金錢,效率就是生命本教程助力開(kāi)發(fā)者使用協(xié)議快速產(chǎn)品化。摘要借助具備及聯(lián)網(wǎng)功能的,快速部署到客戶產(chǎn)品上,助力開(kāi)發(fā),縮短開(kāi)發(fā)周期,快速實(shí)現(xiàn)產(chǎn)品商業(yè)化。 時(shí)間就是金錢,效率就是生命 本教程助力開(kāi)發(fā)者使用MQTT協(xié)議快速產(chǎn)品化。 摘要 借助具備MQTT及聯(lián)網(wǎng)功能的DTU,快速部署到客戶產(chǎn)品...

    sutaking 評(píng)論0 收藏0
  • MQTT協(xié)議(1)-簡(jiǎn)介

    摘要:,消息隊(duì)列遙測(cè)傳輸是開(kāi)發(fā)的一個(gè)即時(shí)通訊協(xié)議,有可能成為物聯(lián)網(wǎng)的重要組成部分。會(huì)發(fā)生消息丟失或重復(fù)。只有一次,確保消息到達(dá)一次。此外,國(guó)內(nèi)很多企業(yè)都廣泛使用作為手機(jī)客戶端與服務(wù)器端推送消息的協(xié)議。 前幾天寫(xiě)了一下MQTT協(xié)議實(shí)現(xiàn)推送數(shù)據(jù)傳輸,所以我會(huì)不定期的更新一下關(guān)注MQTT的知識(shí)。 MQTT: MQTT(Message Queuing Telemetry Transport,消息隊(duì)列...

    objc94 評(píng)論0 收藏0
  • 基于MQTT的物聯(lián)網(wǎng)云測(cè)量解決方案

    摘要:本文是其中的一個(gè)解決方案。地址客戶端服務(wù)端前端網(wǎng)頁(yè)介紹,消息隊(duì)列遙測(cè)傳輸是開(kāi)發(fā)的一個(gè)即時(shí)通訊協(xié)議,有可能成為物聯(lián)網(wǎng)的重要組成部分。必須用于在頂層分隔符之后,除了當(dāng)自己指定時(shí)。 1. 問(wèn)題描述 最近,本實(shí)驗(yàn)室大量上馬云測(cè)量,云監(jiān)控方面的項(xiàng)目,大概是屬于物聯(lián)網(wǎng)應(yīng)用的一個(gè)分支。老板也有將舊有儀器改造的想法,所以要實(shí)現(xiàn)儀器設(shè)備的云控制。本文是其中的一個(gè)解決方案。 2. 技術(shù)選型 消息隊(duì)列:M...

    張金寶 評(píng)論0 收藏0
  • CountDownLatch + Callbale+FutureTask 實(shí)現(xiàn)異步變同步調(diào)用

    摘要:背景通過(guò)接口實(shí)現(xiàn)調(diào)用發(fā)送數(shù)據(jù),接口返回值為發(fā)送數(shù)據(jù)的對(duì)應(yīng)結(jié)果。接口為同步阻塞,為異步回調(diào)方式。接收數(shù)據(jù)回調(diào)接收到數(shù)據(jù)后,通過(guò)閉鎖釋放阻塞的線程,同時(shí)設(shè)置結(jié)果返回給調(diào)用者 背景 通過(guò)HTTP接口實(shí)現(xiàn)調(diào)用MQTT Client發(fā)送數(shù)據(jù),HTTP接口返回值為MQTT Client發(fā)送數(shù)據(jù)的對(duì)應(yīng)結(jié)果。 HTTP接口為同步阻塞,MQTT Client 為異步回調(diào)方式。如何實(shí)現(xiàn)在HTTP接口中調(diào)用...

    張金寶 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<