MQTT學習(二)

訂閱主題和訂閱確認

SUBSCRIBE——訂閱主題

之前的CONNECT報文,分為

  • 固定報頭:必須存在,用于描述報文信息。里面有指出什么類型的報文,報文的等級。
  • 可變報頭:不一定存在。主要看什么樣子類型的報文。
  • 有效載荷部分:這是內容,也是通信信息的存放的地方,只是有時候還會存放一些額外的信息,如客戶ID。

SUBSCRIBE報文

客戶端向服務端訂閱!

  1. 服務端發送PUBLISH報文給客戶端。
  2. SUBSCRIBE報文指定了最大的QoS等級(服務質量要求)。

固定報頭

在這里插入圖片描述

可變報頭在這里插入圖片描述

有效載荷

主題過濾器
服務質量要求(Qos等級)
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
使用訂閱主題的時候一定要connect上服務器!
客戶端向服務器訂閱!

SUBACK——訂閱確認

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

取消訂閱UNSUBSCRIBE和取消訂閱確認

客戶端向服務端取消訂閱!

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

取消訂閱確認UNSUBACK

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

發布消息PUBLISH

PUBLISH控制報文是指從客戶端向服務端或者服務端向客戶端傳輸一個應用消息。

在這里插入圖片描述

可變報頭

主題名Topic Name:用于識別有效載荷數據應該被發布到哪一個信息通道。
在這里插入圖片描述
報文標識符Packet Identifer只有當QoS等級是1或2時,報文標識符(Packet Identifer)字段才能出現在PUBLISH報文中。

在這里插入圖片描述

有效載荷

有效載荷包含將發布的應用消息。
數據的內容和格式是應用特定的。

特定的格式:JSON

在這里插入圖片描述

響應

在這里插入圖片描述

動作

客戶端使用PUBLISH報文發送應用消息給服務端,目的是分發到其它訂閱匹配的客戶端。

服務端使用PUBLISH報文發送應用消息給每一個訂閱匹配的客戶端。

JSON

JavaScript Object Notation,JS對象簡譜,是一種輕量級的數據交換格式,JSON指的是JavaScript對象表示法。

{"firstName":"John"
}
  • {}:大括號表示對象——鍵
  • “”:雙引號內表示屬性或者值——指

鍵:必須是字符串
值:字符串、數組[]、對象{}、數字等

{"method":"thing.event.property.post","id":"00000001","params":{"PwoerSwitch":0},"version":"1.0.0"
}

多個鍵之間用,表示
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
不要復制長度到網絡調試助手
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
消息轉換成十六進制
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/11659.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/11659.shtml
英文地址,請注明出處:http://en.pswp.cn/web/11659.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LoRA Land: 310個經微調的大語言模型可媲美GPT-4

摘要 低秩自適應 (LoRA) 已成為大語言模型 (LLM) 參數有效微調 (PEFT) 中最廣泛采用的方法之一。LoRA 減少了可訓練參數的數量和內存使用,同時達到了與全面微調相當的性能。該研究旨在評估在實際應用中訓練和服務使用 LoRA 微調的 LLM 的可行性。首先,該研究測量了在 10 個基礎…

js基礎-數組-事件對象-日期-本地存儲

一、大綱 一、獲取元素位置 在JavaScript中,獲取一個元素在頁面上的位置可以通過多種方法實現。以下是一些常見的方法: getBoundingClientRect() getBoundingClientRect() 方法返回元素的大小及其相對于視口的位置。它提供了元素的left、top、right和bo…

Vue的學習 —— <vue響應式基礎>

目錄 前言 正文 單文件組件 什么是單文件組件 單文件組件使用方法 數據綁定 什么是數據綁定 數據綁定的使用方法 響應式數據綁定 響應式數據綁定的使用方法 ref() 函數 reactive()函數 toRef()函數 toRefs()函數 案例練習 前言 Vue.js 以其高效的數據綁定和視圖…

探索大語言模型代理(Agent):研究背景、通用框架與未來展望

引言 近年來,隨著人工智能技術的飛速發展,大語言模型(Large Language Models, LLMs)在智能代理(Agent)領域中的應用已成為研究的熱點。這些代理不僅能夠模擬人類的認知過程,還能在復雜的社會環…

CNN/TCN/LSTM/BiGRU-Attention到底哪個模型效果最好?注意力機制全家桶來啦!

? 聲明:文章是從本人公眾號中復制而來,因此,想最新最快了解各類智能優化算法及其改進的朋友,可關注我的公眾號:強盛機器學習,不定期會有很多免費代碼分享~ 目錄 數據介紹 效果展示 原理簡介 代…

數字人解決方案——AniTalker聲音驅動肖像生成生動多樣的頭部說話視頻算法解析

1.概述 AniTalker是一款先進的AI驅動的動畫生成工具,它超越了簡單的嘴唇同步技術,能夠精準捕捉并再現人物的面部表情、頭部動作以及其他非言語的微妙動態。這不僅意味著AniTalker能夠生成嘴型精準同步的視頻,更重要的是,它還能夠…

使用Dockerfile配置Springboot應用服務發布Docker鏡像-16

創建Docker鏡像 springboot-docker模塊 這個應用可以隨便找一個即可&#xff0c;這里不做詳細描述了。 pom.xml 依賴版本可參考 springbootSeries 模塊中pom.xml文件中的版本定義 <dependencies><dependency><groupId>com.alibaba.cloud</groupId>…

linux開機啟動配置文件

在Linux系統中&#xff0c;開機啟動配置文件通常位于/etc/init.d目錄下&#xff0c;并且是一個腳本文件&#xff0c;該腳本可以通過service命令或systemctl命令來啟動、停止、重啟服務。 1、創建一個服務腳本 /etc/init.d/ruoyi.sh #!/bin/bashCURRENT_PATH$(pwd) JAR_NAME&q…

企業開發基礎-JDBC(SQL注入)

JDBC概論 1、JDBC是什么&#xff1f; Java DataBase Connectivity&#xff08;Java語言連接數據庫&#xff09; 2、JDBC的本質是什么&#xff1f; JDBC是SUN公司制定的一套接口&#xff08;interface&#xff09; java.sql.*; (這個軟件包下有很多接口。) 接…

[數據集][圖像分類]雜草分類數據集17509張9類別

數據集格式&#xff1a;僅僅包含jpg圖片&#xff0c;每個類別文件夾下面存放著對應圖片 圖片數量(jpg文件個數)&#xff1a;17509 分類類別數&#xff1a;9 類別名稱:["chineseapple","lantana","negatives","parkinsonia","part…

48-Qt控件詳解:Buttons Containers2

一 Group Box:組合框 #include "widget.h"#include<QGroupBox> #include<QRadioButton> #include<QPushButton> #include<QVBoxLayout>//可以在水平方向和垂直方向進行排列的控件&#xff0c;QHBoxLayout/QVBoxLayout #include <QGridLa…

vue2 el-tree樹形下拉框

由于element-vue2 中沒有el-tree-select組件&#xff0c;所以樹形下拉需要結合el-selet完成 <el-form-item label"上級部門&#xff1a;" prop"pidName"> <el-select ref"select" v-model"dialogForm.pidName" placeholder&…

Backend - 數據分析 Numpy

目錄 一、作用 二、基礎環境 &#xff08;一&#xff09;執行虛擬環境的終端命令 &#xff08;二&#xff09;代碼中導包 三、數組操作 &#xff08;一&#xff09;創建數組 1. 創建一維數組 &#xff08;1&#xff09;基本建立 &#xff08;2&#xff09;建立后&…

揚州知識付費系統招聘,你知道在線教育平臺推廣有什么技巧?

在線教育的模式有各種各樣&#xff0c;不管是哪種模式&#xff0c;在線教育的課程都有顛覆和創新性。互聯網在線教育課程可以要大家在家就可以利用碎片化時間學習&#xff0c;那在線教育平臺怎么推廣呢&#xff1f; 1、與校園和企業合作 在線教育平臺不僅能給校園的老師提供更好…

解決寶塔Nginx和phpMyAdmin配置端口沖突問題

問題描述 在對基于寶塔面板的 Nginx 配置文件進行端口修改時&#xff0c;我注意到 phpMyAdmin 的端口配置似乎也隨之發生了變化&#xff01; 解決方法 官方建議在處理 Nginx 配置時&#xff0c;應避免直接修改默認的配置文件&#xff0c;以確保系統的穩定性和簡化后續的維護…

大數據可視化實驗三——數據可視化工具使用

目錄 一、實驗目的... 1 二、實驗環境... 1 三、實驗內容... 1 1. 下載并安裝Tableau軟件.. 1 2. 使用HTML5繪制Canvas圖形.. 2 3. 使用HTML5編寫SVG 圖形... 5 4. 使用R 語言編寫可視化實例.. 7 四、總結與心得體會... 7 五、思考問題... 8 一、實驗目的 1&#xff…

C++-Linux工程管理

1 Makefile和CMake實踐 1.1 Makefile 參考 簡介&#xff1a; Makefile是一種用于自動化構建和管理程序的工具。它通常用于編譯源代碼、鏈接對象文件以生成可執行文件或庫文件。Makefile以文本文件的形式存在&#xff0c;其中包含了一系列規則和指令&#xff0c;用于描述程序的…

python數據分析——seaborn繪圖1

參考資料&#xff1a;活用pandas庫 matplotlib庫是python的和興繪圖工具&#xff0c;而seaborn基于matplotlib創建&#xff0c;它為繪制統計圖提供了更高級的接口&#xff0c;使得只用少量代碼就能生成更美觀、更復雜的可視化效果。 seaborn庫和pandas以及其他pydata庫&#xf…

Go 阻塞

阻塞 在Go語言中&#xff0c;阻塞通常指的是一個goroutine&#xff08;輕量級線程&#xff09;在等待另一個goroutine完成操作&#xff08;如I/O操作、channel通信等&#xff09;時&#xff0c;暫時停止執行的現象。Go語言提供了多種同步和通信機制&#xff0c;可以用于實現阻…

數據賦能(86)——數據要素:管理核心框架

數據管理的核心框架是一個綜合性的體系&#xff0c;旨在確保數據的有效利用、安全性以及合規性。這個框架主要包含了以下幾個關鍵組成部分&#xff1a; 數據治理策略與目標&#xff1a;明確數據管理的整體戰略和目標&#xff0c;包括數據價值的釋放、數據資產地位的確定、多元…