首页 > 其他分享 >MQTT控制报文格式 -- SUBACK – 订阅应答

MQTT控制报文格式 -- SUBACK – 订阅应答

时间:2023-10-17 09:00:11浏览次数:33  
标签:订阅 SUBACK QoS 报文格式 -- 包头 byte 数据包

SUBACK 数据包由服务器发送到客户端以确认 SUBSCRIBE 数据包的接收和处理。
SUBACK 数据包包含返回代码列表,指定在 SUBSCRIBE 请求的每个订阅中授予的最大 QoS 级别

1. 固定包头 Fixed header

固定包头的剩余长度= 可变包头(2字节)+ Payload 长度

Bit

7

6

5

4

3

2

1

0

byte 1

MQTT Control Packet type (9)

Reserved

 

1

0

0

1

0

0

0

0

byte 2

Remaining Length

2. 可变包头 Variable header

SUBACK 消息的可变包头用来传输2个字节的数据包标识符 PacketIdentifier

Bit

7

6

5

4

3

2

1

0

byte 1

Packet Identifier MSB

byte 2

Packet Identifier LSB

3. 载荷Payload

Payload 包含返回代码列表。 每个返回代码对应于被确认的订阅数据包中的主题过滤器。 SUBACK 数据包中返回码的顺序必须与 SUBSCRIBE 数据包中主题过滤器的顺序匹配

Bit

7

6

5

4

3

2

1

0

 

Return Code

byte 1

X

0

0

0

0

0

X

X

返回码如果bit7=1 表示订阅失败,可能的订阅返回码如下

0x00 - Success - Maximum QoS 0
0x01 - Success - Maximum QoS 1
0x02 - Success - Maximum QoS 2
0x80 - Failure

标签:订阅,SUBACK,QoS,报文格式,--,包头,byte,数据包
From: https://www.cnblogs.com/aimigi/p/17768858.html

相关文章

  • 日常记录--2023-10月16日--周一
    日程:今天只有上午有课,7点起床,吃了个早饭去上课,早上第一节数据结构,学习了队列,还讲了相关应用。中午午休一个小时,下午起来干了点别的,完善了之前的代码,晚上7-9点听了下代码随想路,学了会javaweb。学了什么:可恶的Javaweb,复习了数据结构。PS:不想学习,想要成为月饼盒;......
  • Leetcode707. 设计链表
    题目描述你可以选择使用单链表或者双链表,设计并实现自己的链表。单链表中的节点应该具备两个属性:val和next。val是当前节点的值,next是指向下一个节点的指针/引用。如果是双向链表,则还需要属性prev以指示链表中的上一个节点。假设链表中的所有节点下标从0开始。实现M......
  • Microsoft Visual Studio Code 安装配置教程 (C/C++)
    MicrosoftVisualStudioCode安装教程前言由于看不习惯Dev-C++等古老的IDE,所以决定装VSCode(可是现在感觉VS更好)所以我就把安装过程记录了下来。0x01下载下载0x02安装前面的不用讲了吧。。。毕竟全是中文的。。。0x03配置打开VSCode,你发现全是英文的。所以......
  • JDBC API详解
    //DriverManage//1.注册驱动//2.获取数据库连接//Connection//1.获取执行SQL的对象StatementcreateStatement();//普通执行sql对象PrepareStatementprepareStatement(sql);//预编译sql的执行sql对象:防止sql注入CallableStatementprepareCall(sql);//执行存储过程......
  • 代码随想训练营第五天(Python)| 242.有效的字母异位词、349. 两个数组的交集、第202题.
    242.有效的字母异位词1、数组法这个思路贼6,在这个题的效率也高classSolution:defisAnagram(self,s:str,t:str)->bool:#全部转为asii码如果是互为异为词,则最后的-+后的结果为0record=[0]*26#范围是26。一维foriins......
  • 20231026
    (1)通过查阅资料,写出一个或多个MapReduce的具体应用,并谈谈自己对MapReduce的认识。(满分10分)(2)词频统计任务编程实践,任务要求:在Linux系统本地创建两个文件,即文件wordfile1.txt和wordfile2.txt,文件wordfile1.txt的内容格式如下,需要将zhangsan换成自己名字的英文全拼:zhangsanlovesSp......
  • 20231016
    早上上了工程实训课,玩了高铁和火车模拟器和沙盘下午Java课,发现布置的作业是我几周前自己试着做过的最近在看代码大全,学到了自定义数据结构的一些妙用,组织顺序结构的代码,条件和循环中常见的错误排查以及避免,好多好多。......
  • 2-快速上手——从0到1掌握算法面试需要的数据结构(一)
    数据结构层面,大家需要掌握以下几种:数组栈队列链表树(这里我们着重讲二叉树)对于这些数据结构,各位如果没有大量的可支配时间可以投入,那么其实不建议找厚厚的大学教材来刷。此时此刻,时间为王,我们追求的是效率的最大化。不同的数据结构教材,对数据结构有着不同的划分、不同的解......
  • Redis系列---【Linux系统离线安装redis5.0.7】
    Linux系统离线安装redis5.0.71.下载redis安装包方式一:shell命令下载wgethttp://download.redis.io/releases/redis-5.0.7.tar.gz方式二:手动官网下载官网地址:https://redis.io/download2.上传到服务器上传到/opt/app/middles/目录下3.解压并安装tar-zvxfredi......
  • 【Release】Photoshop ICO file format plug-in 3.0
    【Introduction】ThePhotoshopICOplug-inisafileformatplug-indevelopedforPhotoshop,whichallowsPhotoshoptodirectlyreadandwriteICOformatfiles.BecausePhotoshophaspowerfulpixelbitmapeditingfunctions,ithasmanyusersandagooduser......