MQTT協(xié)議14種報(bào)文分析報(bào)告_第1頁
MQTT協(xié)議14種報(bào)文分析報(bào)告_第2頁
MQTT協(xié)議14種報(bào)文分析報(bào)告_第3頁
MQTT協(xié)議14種報(bào)文分析報(bào)告_第4頁
MQTT協(xié)議14種報(bào)文分析報(bào)告_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上MQTT協(xié)議14種報(bào)文分析實(shí)習(xí)報(bào)告課 程 名 稱: _實(shí) 習(xí) 題 目: _ 專 業(yè) 班 級(jí): _學(xué) 生 姓 名: _學(xué) 號(hào): _實(shí) 習(xí) 成 績(jī): 指導(dǎo)教師簽名: 年 月 日實(shí)習(xí)時(shí)間實(shí)習(xí)地點(diǎn)實(shí)習(xí)學(xué)時(shí)實(shí)習(xí)目的學(xué)習(xí)MQTT協(xié)議,對(duì)各個(gè)MQTT報(bào)文進(jìn)行協(xié)議分析。學(xué)習(xí)java語言的socket編程基礎(chǔ),利用paho庫(kù)實(shí)現(xiàn)MQTT客戶端程序。實(shí)習(xí)內(nèi)容利用相關(guān)工具捕獲MQTT協(xié)議的相關(guān)報(bào)文,分析MQTT協(xié)議的14種報(bào)文。學(xué)會(huì)直接構(gòu)造MQTT報(bào)文,完成通信,并理解回調(diào)機(jī)制實(shí)習(xí)要求記錄MQTT實(shí)驗(yàn)過程、截圖分析并說明利用socket直接構(gòu)造MQTT報(bào)文,完成與服務(wù)器進(jìn)行通信,實(shí)現(xiàn)連接服

2、務(wù)器、訂閱主題、發(fā)送消息等功能。利用paho庫(kù)實(shí)現(xiàn)MQTT客戶端,實(shí)現(xiàn)所有功能,并理解回調(diào)機(jī)制實(shí)習(xí)主要設(shè)施設(shè)備裝有WiresharkPortable、paho、mosquitto、npcap、jdk-8u112-windows-i586等程序的PC機(jī)一臺(tái)實(shí)習(xí)成果對(duì)MQTT協(xié)議有了一定的認(rèn)識(shí),知道如何分析各種報(bào)文。對(duì)MQTT協(xié)議編程有了一定的基礎(chǔ)和了解。實(shí)習(xí)報(bào)告1 引言1.1系統(tǒng)概述MQTT協(xié)議的分析與編程實(shí)驗(yàn)1.2 需求分析 基于輕量級(jí)代理的發(fā)布/訂閱協(xié)議,更為簡(jiǎn)約、輕量,易于使用,針對(duì)受限環(huán)境(帶寬低、網(wǎng)絡(luò)延遲高、網(wǎng)絡(luò)通信不穩(wěn)定),屬于物聯(lián)網(wǎng)的一個(gè)傳輸協(xié)議。設(shè)計(jì)思想是開放、簡(jiǎn)單、輕量、易于實(shí)

3、現(xiàn)。1.3 運(yùn)行環(huán)境裝并打開mosquitto服務(wù)器;安裝MQTT客戶端EclipsePahoMQTT;安裝npcap;安裝WiresharkPortable協(xié)議分析軟件;安裝jdk;Window7系統(tǒng)。構(gòu)造服務(wù)器環(huán)境。2 協(xié)議分析實(shí)驗(yàn)2.1 實(shí)驗(yàn)準(zhǔn)備實(shí)驗(yàn)環(huán)境:JDK環(huán)境實(shí)驗(yàn)方法及步驟:1.MQTT服務(wù)器端mosquitto(1)下載并安裝mosquitto(2)確認(rèn)安裝完后,所有所有的程序都安裝在這個(gè)目錄下,C:Program Files (x86)mosquitto。如果你不想在其他的操作系統(tǒng)上也執(zhí)行安裝程序,把C:Program Files (x86)mosquitto這個(gè)文件夾拷貝到任

4、何路徑(3)進(jìn)入d:mosquitto,輸入下面的命令, cd d:mosquitto mosquitto -p 1883 -v -p 代表當(dāng)前的mosquitto服務(wù)實(shí)例啟動(dòng)以后,其監(jiān)聽端口號(hào),這個(gè)配置的覆蓋-c config file 指定的配置文件中的端口 -v 代碼調(diào)試模式(verbose)可以輸出更多的信息 2.MQTT客戶端Eclipse Paho MQTT (1)下載解壓縮后,雙擊paho.exe,打開后的對(duì)界面如下 (2)點(diǎn)擊上圖中的 十字圖標(biāo),就能新建一個(gè)MQTT的客戶端的連接,輸入正確的MQTT服務(wù)端的連接地址, (3)這個(gè)時(shí)候我們就能訂閱消息了。選擇“Subscripti

5、on”下方的綠色十字圖標(biāo),就可以輸入訂閱的主題(topic)的名字,比如我們?cè)O(shè)置主題名稱為“test”,并點(diǎn)擊“Subscribe”按鈕(4)往MQTT服務(wù)發(fā)送一條某一主題的MQTT消息。然后點(diǎn)擊“Publish”按鈕,這個(gè)時(shí)候,我們就能看到消息已經(jīng)發(fā)送成功,且在步驟(3)訂閱的同一主題也收到了消息。3.安裝和使用協(xié)議分析軟件wireshark (1)安裝WiresharkPortable_2.2.1.paf.exe(2)捕獲MQTT協(xié)議報(bào)文(3)在Wireshark中,分為capture filter和Display Filer,我們只需要在WireShark軟件中的capture filt

6、er 輸入下面的過濾條件,則與MQTT服務(wù)交互的相關(guān)TCP的數(shù)據(jù)包就能抓取到。如下圖所示意. 這個(gè)時(shí)候,我們先啟動(dòng)WireShark,然后點(diǎn)擊Eclipse Paho MQTT工具的“Connect”,這個(gè)時(shí)候WireShark就能抓取下面的TCP數(shù)據(jù)包。2.2 主要實(shí)驗(yàn)步驟操作:按照“MQTT-3.1.1-CN”文檔各種報(bào)文的實(shí)現(xiàn)方法依次實(shí)現(xiàn),抓包結(jié)果截圖,結(jié)合參考文檔分析實(shí)驗(yàn)結(jié)果。結(jié)果:如下各圖所示14種報(bào)文分析說明具體如下:1.CONNECT 連接服務(wù)端分析說明:固定報(bào)頭:0001 0000其中MQTT報(bào)文控制類型0001,保留位0000剩余長(zhǎng)度字段:為16進(jìn)制的1c,表示剩余長(zhǎng)度等于可

7、變報(bào)頭的長(zhǎng)度(10字節(jié))加上有效載荷的長(zhǎng)度為28??勺儓?bào)頭:CONNECT報(bào)文的可變報(bào)頭按下列次序包含四個(gè)字段:協(xié)議名(Protocol Name),協(xié)議級(jí)別(Protocol Level),連接標(biāo)志(Connect Flags)和保持連接(Keep Alive)協(xié)議名字節(jié)構(gòu)成:00 04 4d 51 54 54,表示長(zhǎng)度為4的“MQTT”協(xié)議名稱協(xié)議級(jí)別字節(jié)構(gòu)成:04,對(duì)于3.1.1版協(xié)議,協(xié)議級(jí)別字段的值是4(0x04)。連接標(biāo)志:02,對(duì)應(yīng)2進(jìn)制0000 0010,服務(wù)端必須驗(yàn)證CONNECT控制報(bào)文的保留標(biāo)志位(第0位)是否為0,如果不為0必須斷開客戶端連接 。清理會(huì)話位置為連接標(biāo)志字

8、節(jié)的第1位 ,清理會(huì)話標(biāo)志被設(shè)置為1,客戶端和服務(wù)端必須丟棄之前的任何會(huì)話并開始一個(gè)新的會(huì)話。遺囑標(biāo)志位置為連接標(biāo)志的第2位,遺囑標(biāo)志被設(shè)置為0,連接標(biāo)志中的Will QoS和Will Retain字段必須設(shè)置為0,并且有效載荷中不能包含Will Topic和Will Message字段,網(wǎng)絡(luò)連接斷開時(shí),不能發(fā)送遺囑消息。遺囑QoS位置為連接標(biāo)志的第4和第3位。這兩位用于指定發(fā)布遺囑消息時(shí)使用的服務(wù)質(zhì)量等級(jí),因?yàn)榇死z囑標(biāo)志位置被置0,所以0,遺囑QoS也必須設(shè)置為0(0x00) 遺囑保留位置為連接標(biāo)志的第5位。 遺囑標(biāo)志被設(shè)置為0,遺囑保留(Will Retain)標(biāo)志也必須設(shè)置為0 用戶名

9、標(biāo)志位置為連接標(biāo)志的第7位。此例用戶名標(biāo)志被設(shè)置為0,有效載荷中不能包含用戶名字段密碼標(biāo)志位置為連接標(biāo)志的第6位。因?yàn)榇死脩裘麡?biāo)志被設(shè)置為0,密碼標(biāo)志也必須設(shè)置為0 保持連接:保持連接字節(jié)為00 3c,其中保持連接KeepAliveMSB為00,保持連接KeepAliveLSB為3c有效載荷:00 10 70 61 68 6f 38 37 32 32 38 35 35 32 31 39 34 3,其中表示隨后長(zhǎng)度為16,此例有效載荷只有客戶端標(biāo)識(shí)符即paho 12.CONNACK 確認(rèn)連接請(qǐng)求 3. PUBLISH-發(fā)布消息:分析說明:以Q0S=1為例:固定報(bào)頭:0011 0010,其中MQ

10、TT報(bào)文控制類,0011,保留位0010,重發(fā)標(biāo)志位置為第1個(gè)字節(jié),第3位,DUP=0,表示這是客戶端或服務(wù)端第一次請(qǐng)求發(fā)送這個(gè)PUBLISH報(bào)文。服務(wù)質(zhì)量等級(jí)位置為第1個(gè)字節(jié),第2-1位,QoS=01,表示至少分發(fā)一次。保留標(biāo)志位置為第1個(gè)字節(jié),第0位,例圖中為0.剩余長(zhǎng)度字段:為16進(jìn)制的0a,表示可變報(bào)頭的長(zhǎng)度。表示可變報(bào)頭的長(zhǎng)度加上有效載荷的長(zhǎng)度為10.可變報(bào)頭:為16進(jìn)制的00 03 31 31 30 00 06 31 32 33,00 03表示主題長(zhǎng)度為3,31 31 30即主題名110,00 06為報(bào)文標(biāo)識(shí)符,其中報(bào)文標(biāo)識(shí)符MSL為16進(jìn)制的00,報(bào)文標(biāo)識(shí)符LSB為16進(jìn)制的06

11、,31 32 33為發(fā)布內(nèi)容123有效載荷:有效載荷包含將被發(fā)布的應(yīng)用消息。數(shù)據(jù)的內(nèi)容和格式是應(yīng)用特定的。有效載荷的長(zhǎng)度這樣計(jì)算:用固定報(bào)頭中的剩余長(zhǎng)度字段的值減去可變報(bào)頭的長(zhǎng)度。包含零長(zhǎng)度有效載荷的PUBLISH報(bào)文是合法的。此例的有效載荷即為零長(zhǎng)度。4.PUBACK 發(fā)布確認(rèn)分析說明:固定報(bào)頭:0100 0000,其中MQTT報(bào)文控制類,0100,保留位0000剩余長(zhǎng)度字段:為16進(jìn)制的02,表示可變報(bào)頭的長(zhǎng)度。對(duì)PUBREL報(bào)文這個(gè)值等于2. 可變報(bào)頭:為16進(jìn)制的00 06,其中報(bào)文標(biāo)識(shí)符MSL為16進(jìn)制的00,報(bào)文標(biāo)識(shí)符LSB為16進(jìn)制的06有效載荷:PUBACK報(bào)文沒有有效載荷。

12、5.PUBREC 發(fā)布收到QoS2第一步分析說明:固定報(bào)頭:0101 0000,其中MQTT報(bào)文控制類,0101,保留位0000剩余長(zhǎng)度字段:為16進(jìn)制的02,表示可變報(bào)頭的長(zhǎng)度。對(duì)PUBREL報(bào)文這個(gè)值等于2. 可變報(bào)頭:為16進(jìn)制的00 07,其中報(bào)文標(biāo)識(shí)符MSL為16進(jìn)制的00,報(bào)文標(biāo)識(shí)符LSB為16進(jìn)制的07有效載荷:PUBREC報(bào)文沒有有效載荷。 6.PUBREL 發(fā)布釋放QoS2第二步分析說明:固定報(bào)頭:0110 0010,其中MQTT報(bào)文控制類,0110,保留位0010剩余長(zhǎng)度字段:為16進(jìn)制的02,表示可變報(bào)頭的長(zhǎng)度。對(duì)PUBREL報(bào)文這個(gè)值等于2. 可變報(bào)頭:為16進(jìn)制的00

13、 07,其中報(bào)文標(biāo)識(shí)符MSL為16進(jìn)制的00,報(bào)文標(biāo)識(shí)符LSB為16進(jìn)制的07有效載荷:PUBREL報(bào)文沒有有效載荷。 7.PUBCOMP 發(fā)布完成QoS2第三步分析說明:固定報(bào)頭:0111 0000,其中MQTT報(bào)文控制類,0111,保留位0000剩余長(zhǎng)度字段:為16進(jìn)制的02,表示可變報(bào)頭的長(zhǎng)度,對(duì)PUBCOMP報(bào)文這個(gè)值等于2。 可變報(bào)頭:為16進(jìn)制的00 07,其中報(bào)文標(biāo)識(shí)符MSL為16進(jìn)制的00,報(bào)文標(biāo)識(shí)符LSB為16進(jìn)制的07有效載荷:PUBCOMP報(bào)文沒有有效載荷。 8.SUBSCRIBE - 訂閱主題 分析說明:固定報(bào)頭:1000 0010,其中MQTT報(bào)文控制類,1000,保

14、留位0010剩余字段長(zhǎng)度:為16進(jìn)制的08,表示可變報(bào)頭的長(zhǎng)度(2字節(jié))加上有效載荷的長(zhǎng)度為8可變報(bào)頭:為16進(jìn)制的00 01,其中報(bào)文標(biāo)識(shí)符MSL為16進(jìn)制的00,報(bào)文標(biāo)識(shí)符LSB為16進(jìn)制的01有效載荷:為16進(jìn)制的00 03 31 31 30 00,其中MSB為00,LSB為03,主題過濾為31 31 30即110,00表示服務(wù)質(zhì)量等級(jí)QoS為0。9 SUBACK 訂閱確認(rèn) 分析說明:固定報(bào)頭:1001 0000,其中MQTT報(bào)文控制類,1001,保留位0000剩余長(zhǎng)度字段為16進(jìn)制的03,表示可變報(bào)頭的長(zhǎng)度加上有效載荷的長(zhǎng)度為3可變報(bào)頭:為16進(jìn)制的00 01,其中報(bào)文標(biāo)識(shí)符MSL為1

15、6進(jìn)制的00,報(bào)文標(biāo)識(shí)符LSB為16進(jìn)制的01有效載荷:為16進(jìn)制的00,對(duì)應(yīng)2進(jìn)制即為返回碼0000 0000,返回碼值為0x00 -最大QoS 0 10 UNSUBSCRIBE 取消訂閱 分析說明:固定報(bào)頭:1010 0010其中MQTT報(bào)文控制類型1010,保留位0010剩余長(zhǎng)度字段 為16進(jìn)制的07,表示可變報(bào)頭的長(zhǎng)度加上有效載荷的長(zhǎng)度為7可變報(bào)頭:16進(jìn)制的00 02,其中報(bào)文標(biāo)識(shí)符MSL為16進(jìn)制的00,報(bào)文標(biāo)識(shí)符LSB為16進(jìn)制的02有效載荷:16進(jìn)制的 00 03 31 31 30,其中00 03表示想要取消訂閱的主題長(zhǎng)度為3,想要取消的主題為31 31 30即110。11 U

16、NSUBACK 取消訂閱確認(rèn) 分析說明:固定報(bào)頭:1011 0000其中MQTT報(bào)文控制類型1011,保留位0000.剩余長(zhǎng)度字段為:16進(jìn)制的02,表示可變報(bào)頭的長(zhǎng)度,對(duì)UNSUBACK報(bào)文這個(gè)值等于2可變報(bào)頭:16進(jìn)制的00 02,其中報(bào)文標(biāo)識(shí)符MSL為16進(jìn)制的00,報(bào)文標(biāo)識(shí)符LSB為16進(jìn)制的02有效載荷:UNSUBACK報(bào)文沒有有效載荷。 12 PINGREQ 心跳請(qǐng)求 分析說明:固定報(bào)頭:1100 0000,其中MQTT報(bào)文控制類型1100,保留位00000可變報(bào)頭:PINGREQ報(bào)文沒有可變報(bào)頭。 有效載荷:PINGREQ報(bào)文沒有有效載荷。13 PINGRESP 心跳響應(yīng) 分析說

17、明:固定報(bào)頭:1101 0000,其中MQTT報(bào)文控制類,1101,保留位0000可變報(bào)頭:PINGRESP報(bào)文沒有可變報(bào)頭。 有效載荷:PINGRESP報(bào)文沒有有效載荷。14 DISCONNECT 斷開連接分析說明:固定報(bào)頭:1110 0000,其中MQTT報(bào)文控制類型1110,保留位0000可變報(bào)頭:DISCONNECT報(bào)文沒有可變報(bào)頭。 有效載荷:DISCONNECT報(bào)文沒有有效載荷。2.3 思考與總結(jié)1.說明paho和mosquitto的作用,它們與發(fā)布/訂閱模式的關(guān)系。Paho是MQTT服務(wù)器客戶端,Mosquitto是MQTT服務(wù)器端,助paho和mosquitto均可作為MQTT

18、服務(wù)器的實(shí)現(xiàn),可實(shí)現(xiàn)發(fā)布/訂閱模式2.MQTT中變長(zhǎng)字段有哪些?接收端如何判斷變長(zhǎng)字段結(jié)束?MQTT中變長(zhǎng)字段有剩余長(zhǎng)度,當(dāng)剩余長(zhǎng)度字段的標(biāo)志位為0時(shí)表示變長(zhǎng)字段結(jié)束。3.構(gòu)造、捕獲并分析帶有客戶端標(biāo)識(shí)符,遺囑主題,遺囑消息,用戶名,密碼的Connect消息。分析說明:固定報(bào)頭:0001 0000報(bào)文控制類型0001,保留位0000剩余長(zhǎng)度字段:為16進(jìn)制的32,表示剩余長(zhǎng)度等于可變報(bào)頭的長(zhǎng)度(10字節(jié))加上有效載荷的長(zhǎng)度為50.可變報(bào)頭:CONNECT報(bào)文的可變報(bào)頭按下列次序包含四個(gè)字段:協(xié)議名(Protocol Name),協(xié)議級(jí)別(Protocol Level),連接標(biāo)志(Connect

19、 Flags)和保持連接(Keep Alive)協(xié)議名字節(jié)構(gòu)成:00 04 4d 51 54 54,表示長(zhǎng)度為4的“MQTT”協(xié)議名稱協(xié)議級(jí)別字節(jié)構(gòu)成:04,對(duì)于3.1.1版協(xié)議,協(xié)議級(jí)別字段的值是4(0x04)。連接標(biāo)志:c6,對(duì)應(yīng)2進(jìn)制1100 0110,服務(wù)端必須驗(yàn)證CONNECT控制報(bào)文的保留標(biāo)志位(第0位)是否為0,如果不為0必須斷開客戶端連接 。清理會(huì)話位置為連接標(biāo)志字節(jié)的第1位 ,清理會(huì)話標(biāo)志被設(shè)置為1,客戶端和服務(wù)端必須丟棄之前的任何會(huì)話并開始一個(gè)新的會(huì)話。遺囑標(biāo)志位置為連接標(biāo)志的第2位,遺囑標(biāo)志被設(shè)置為1,表示如果連接請(qǐng)求被接受了,遺囑(Will Message)消息必須被存

20、儲(chǔ)在服務(wù)端并且與這個(gè)網(wǎng)絡(luò)連接關(guān)聯(lián)。之后網(wǎng)絡(luò)連接關(guān)閉時(shí),服務(wù)端必須發(fā)布這個(gè)遺囑消息,除非服務(wù)端收到DISCONNECT報(bào)文時(shí)刪除了這個(gè)遺囑消息。且連接標(biāo)志中的Will QoS和Will Retain字段會(huì)被服務(wù)端用到,同時(shí)有效載荷中必須包含Will Topic和Will Message字段。遺囑QoS位置為連接標(biāo)志的第4和第3位。這兩位用于指定發(fā)布遺囑消息時(shí)使用的服務(wù)質(zhì)量等級(jí),因?yàn)榇死z囑標(biāo)志位置被置0,所以0,遺囑QoS也必須設(shè)置為0(0x00) 遺囑保留位置為連接標(biāo)志的第5位。此例遺囑保留被設(shè)置為0且遺囑標(biāo)志被設(shè)置為1,服務(wù)端必須將遺囑消息當(dāng)作非保留消息發(fā)布。用戶名標(biāo)志位置為連接標(biāo)志的第7位

21、。此例用戶名標(biāo)志被設(shè)置為1,有效載荷中必須包含用戶名字段。密碼標(biāo)志位置為連接標(biāo)志的第6位。此例密碼標(biāo)志被設(shè)置為1,有效載荷中必須包含密碼字段保持連接:保持連接字節(jié)為00 3c,其中保持連接KeepAliveMSB為00,保持連接KeepAliveLSB為3c有效載荷:00 12 70 61 68 6f 31 30 35 35 34 37 35 35 30 35 37 37 38 30 00 03 31 31 30 00 03 31 31 30 00 03 31 31 30 00 03 31 31 30,其中00 12表示隨后客戶端標(biāo)識(shí)符長(zhǎng)18個(gè)字節(jié)即paho 80,接著00 03表示隨后的遺囑

22、主題長(zhǎng)3個(gè)字節(jié)即110,接著00 03表示隨后的遺囑消息長(zhǎng)3個(gè)字節(jié)即110,接著00 03表示隨后的用戶名長(zhǎng)3個(gè)字節(jié)即110,接著00 03表示隨后的密碼長(zhǎng)3個(gè)字節(jié)即1104. 構(gòu)造、捕獲并分析訂閱多個(gè)不同Qos級(jí)別的主題Subscribe消息。同時(shí)訂閱QoS級(jí)別分別為0、1、2的消息。 三種方式固定頭部的前兩個(gè)字節(jié)均為:82 表示為請(qǐng)求訂閱;Qos表示字段僅僅跟著Topic字段之后,16進(jìn)制代碼為:00 01 10表示為0 1 2三種情況。5.構(gòu)造、捕獲并分析長(zhǎng)度大于 127 字節(jié)的報(bào)文。當(dāng)出現(xiàn)大于127字節(jié)的報(bào)文時(shí),會(huì)在PUBLISH后出現(xiàn)幾個(gè)TCP報(bào)文;TCP報(bào)文的數(shù)據(jù)內(nèi)筒不一樣,但序號(hào)

23、相同。6.構(gòu)造、捕獲并分析Qos=1和Qos=2時(shí)丟包的處理情況。以上是QoS=1以上是QoS=27.學(xué)習(xí)3種QoS消息的特性,通過實(shí)驗(yàn)填寫下表內(nèi)容發(fā)布消息的QoS 0 0 0 1 Topic訂閱的QoS 0 1 2 0 接收消息的QoS 0 0 0 0發(fā)布消息的QoS 1 1 2 2 2 Topic訂閱的QoS 1 2 0 1 2 接收消息的QoS 1 1 0 1 23協(xié)議編程實(shí)驗(yàn)過程3.1 實(shí)驗(yàn)準(zhǔn)備實(shí)驗(yàn)環(huán)境:JDK環(huán)境實(shí)驗(yàn)方法及步驟:1.安裝JDk2.安裝eclipse3.打開paho軟件4.在eclipse中調(diào)試JAVA軟件3.2 主要實(shí)驗(yàn)步驟1.安裝JAVA編程環(huán)境2.下載pahoMqttclient.Jar包3.利用socke直接構(gòu)造MQTT報(bào)文,完成與服務(wù)器進(jìn)行通信,實(shí)現(xiàn)連接服務(wù)器、訂閱主題、發(fā)送消息等功能。4.利用paho庫(kù)實(shí)現(xiàn)MQTT客戶端,實(shí)現(xiàn)所有功能,并理解回調(diào)機(jī)制。5.結(jié)果作為客戶端作為服務(wù)器端回調(diào)機(jī)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論