欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

2020-10-15 MQTT基礎(chǔ)知識(shí) - 新聞資訊 - 云南小程序開(kāi)發(fā)|云南軟件開(kāi)發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開(kāi)發(fā)/軟件開(kāi)發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁(yè) » 新聞資訊 » 技術(shù)分享 >

2020-10-15 MQTT基礎(chǔ)知識(shí)

發(fā)表時(shí)間:2020-10-19

發(fā)布人:葵宇科技

瀏覽次數(shù):69

MQTT同HTTP屬于第七層(應(yīng)用層:面向用戶(hù)的一層,為用戶(hù)提供常用的應(yīng)用程序)

1.機(jī)器之間的大規(guī)模溝通:發(fā)布/訂閱(Publish/Subscribe)模式

它使發(fā)送消息的客戶(hù)端(發(fā)布者)與接收消息的客戶(hù)端(訂閱者)分離,發(fā)布者與訂閱者不需要建立直接聯(lián)系,中間代理根據(jù)主題負(fù)責(zé)所有消息路由和分發(fā)的工作

物品則通過(guò)各種傳感器進(jìn)行信息采集,然后通過(guò)計(jì)算設(shè)備進(jìn)行網(wǎng)絡(luò)信息交換與通信

增強(qiáng)了整個(gè)系統(tǒng)的可靠性,當(dāng)一個(gè)客戶(hù)端出現(xiàn)故障時(shí),整個(gè)系統(tǒng)可以繼續(xù)正常工作。

2.MQTT是基于二進(jìn)制消息的發(fā)布/訂閱編程模式的消息協(xié)議

基于TCP/IP協(xié)議棧

通俗來(lái)說(shuō)是一個(gè)類(lèi)似新浪微博的自動(dòng)轉(zhuǎn)發(fā)服務(wù)器

3.MQTT與HTTP比較

HTTPMQTT

相同點(diǎn)

都是應(yīng)用層協(xié)議,都運(yùn)用了底層協(xié)議TCP(三次握手)

TCP/IP協(xié)議棧

客戶(hù)端和服務(wù)器之間是請(qǐng)求/應(yīng)答模式,客戶(hù)端請(qǐng)求時(shí),會(huì)建立一個(gè)HTTP連接,然后發(fā)送請(qǐng)求消息,服務(wù)端給出應(yīng)答消息,開(kāi)銷(xiāo)大

發(fā)布/訂閱模式

發(fā)布者與訂閱者不需要建立直接聯(lián)系,簡(jiǎn)單、輕量、易于實(shí)現(xiàn)

HTTP 是一種同步協(xié)議,客戶(hù)端需要等待服務(wù)器響應(yīng)

異步消息協(xié)議更適合 IoT 應(yīng)用程序,因?yàn)榇罅吭O(shè)備以及很可能不可靠或高延遲的網(wǎng)絡(luò)使得同步通信成為問(wèn)題

HTTP 是單向的,客戶(hù)端必須發(fā)起連接,才能得到響應(yīng)

在 IoT 應(yīng)用程序中,設(shè)備或傳感器通常是客戶(hù)端,這意味著它們無(wú)法被動(dòng)地接收來(lái)自網(wǎng)絡(luò)的命令

網(wǎng)絡(luò)接口層——接受網(wǎng)絡(luò)上的數(shù)據(jù),抽出IP數(shù)據(jù)報(bào),交給網(wǎng)絡(luò)層

網(wǎng)絡(luò)層——處理傳輸層請(qǐng)求,發(fā)往適當(dāng)接口/接受輸入數(shù)據(jù)報(bào)

傳輸層——應(yīng)用程序間通信

應(yīng)用層——給用戶(hù)提供服務(wù)


3.原理

MQTT協(xié)議中有三種身份:

服務(wù)器 代理(Broker)

客戶(hù)端 發(fā)布者(Publish)、訂閱者(Subscribe)

消息發(fā)布者可以同時(shí)是訂閱者

MQTT傳輸?shù)南⒎譃?#xff1a;

主題(Topic) 消息的類(lèi)型,訂閱者訂閱(Subscribe)后,就會(huì)收到該主題的消息內(nèi)容

負(fù)載(payload) 消息的內(nèi)容

完整流程

  • 1) 啟動(dòng)服務(wù)器代理。

  • 2) 訂閱者向服務(wù)器代理訂閱相關(guān)主題。

  • 3) 發(fā)布者向服務(wù)器代理發(fā)布主題信息。

  • 4) 服務(wù)器代理向所有訂閱該主題的訂閱者推送消息。

有三種消息發(fā)布服務(wù)質(zhì)量:

"至多一次"(Qos=0),消息發(fā)布完全依賴(lài)底層TCP/IP網(wǎng)絡(luò)。會(huì)發(fā)生消息丟失或重復(fù)。這一級(jí)別可用于如下情況,環(huán)境傳感器數(shù)據(jù),丟失一次讀記錄無(wú)所謂,因?yàn)椴痪煤筮€會(huì)有第二次發(fā)送。這一種方式主要普通APP的推送,倘若你的智能設(shè)備在消息推送時(shí)未聯(lián)網(wǎng),推送過(guò)去沒(méi)收到,再次聯(lián)網(wǎng)也就收不到了。

"至少一次"(Qos=1),確保消息到達(dá),但消息重復(fù)可能會(huì)發(fā)生。

"只有一次"(Qos=2),確保消息到達(dá)一次。在一些要求比較嚴(yán)格的計(jì)費(fèi)系統(tǒng)中,可以使用此級(jí)別。在計(jì)費(fèi)系統(tǒng)中,消息重復(fù)或丟失會(huì)導(dǎo)致不正確的結(jié)果。這種最高質(zhì)量的消息發(fā)布服務(wù)還可以用于即時(shí)通訊類(lèi)的APP的推送,確保用戶(hù)收到且只會(huì)收到一次。

發(fā)送消息時(shí),可以指定QoS,如果QoS>0,那么消息一定會(huì)發(fā)到Broker。訂閱主題時(shí),也可以指定QoS,如果QoS>0,那么Broker一定會(huì)將消息發(fā)給訂閱者,不會(huì)丟失。這里要要注意,消息從發(fā)布者到訂閱者,是分兩步走的,第一步有發(fā)布者發(fā)布到MQTT Broker,第二步是MQTT Broker轉(zhuǎn)發(fā)消息到訂閱者。所以只有當(dāng)發(fā)布消息時(shí),指定QoS>0,并且訂閱主題時(shí),QoS>0,消息才能可靠的從發(fā)布客戶(hù)端發(fā)送到訂閱客戶(hù)端。

相關(guān)案例查看更多