📁
MQTT协议中文版
  • README
  • 第一章 - MQTT介绍
  • 第二章 – MQTT控制报文格式
  • 第三章 – MQTT控制报文
    • 3.1 CONNECT – 连接服务端
    • 3.2 CONNACK – 确认连接请求
    • 3.3 PUBLISH – 发布消息
    • 3.4 PUBACK –发布确认
    • 3.5 PUBREC – 发布收到(QoS 2,第一步)
    • 3.6 PUBREL – 发布释放(QoS 2,第二步)
    • 3.7 PUBCOMP – 发布完成(QoS 2,第三步)
    • 3.8 SUBSCRIBE - 订阅主题
    • 3.9 SUBACK – 订阅确认
    • 3.10 UNSUBSCRIBE –取消订阅
    • 3.11 UNSUBACK – 取消订阅确认
    • 3.12 PINGREQ – 心跳请求
    • 3.13 PINGRESP – 心跳响应
    • 3.14 DISCONNECT –断开连接
  • 第四章 – 操作行为
  • 第五章 – 安全
  • 第六章 – 使用WebSocket
  • 第七章 – 一致性目标
  • 附录B - 强制性规范声明
由 GitBook 提供支持
在本页
  • 3.9.1 固定报头
  • 3.9.2 可变报头
  • 3.9.3 有效载荷
  • 有效载荷非规范示例
  • 第三章目录 MQTT控制报文
  • 项目主页

这有帮助吗?

  1. 第三章 – MQTT控制报文

3.9 SUBACK – 订阅确认

上一页3.8 SUBSCRIBE - 订阅主题下一页3.10 UNSUBSCRIBE –取消订阅

最后更新于5年前

这有帮助吗?

服务端发送SUBACK报文给客户端,用于确认它已收到并且正在处理SUBSCRIBE报文。

SUBACK报文包含一个返回码清单,它们指定了SUBSCRIBE请求的每个订阅被授予的最大QoS等级。

3.9.1 固定报头

图例 3.24 – SUBACK报文固定报头

Bit

7

6

5

4

3

2

1

0

byte 1

MQTT控制报文类型 (9)

保留位

1

0

0

1

0

0

0

0

byte 2

剩余长度

剩余长度字段

等于可变报头的长度加上有效载荷的长度。

3.9.2 可变报头

可变报头包含等待确认的SUBSCRIBE报文的报文标识符。 描述了可变报头的格式。

图例 3.25 – SUBACK报文可变报头

Bit

7

6

5

4

3

2

1

0

byte 1

报文标识符 MSB

byte 2

报文标识符 LSB

3.9.3 有效载荷

有效载荷包含一个返回码清单。每个返回码对应等待确认的SUBSCRIBE报文中的一个主题过滤器。返回码的顺序必须和SUBSCRIBE报文中主题过滤器的顺序相同 [MQTT-3.9.3-1]。

图例 3.26 – SUBACK报文有效载荷格式

Bit

7

6

5

4

3

2

1

0

返回码

byte 1

X

0

0

0

0

0

X

X

允许的返回码值:

  • 0x00 - 最大QoS 0

  • 0x01 - 成功 – 最大QoS 1

  • 0x02 - 成功 – 最大 QoS 2

  • 0x80 - Failure 失败

0x00, 0x01, 0x02, 0x80之外的SUBACK返回码是保留的,不能使用[MQTT-3.9.3-2]。

有效载荷非规范示例

表格 3.6 -有效载荷非规范示例

Success - Maximum QoS 0

0

Success - Maximum QoS 2

2

Failure

128

图例 3.27 -有效载荷字节格式非规范示例

描述

7

6

5

4

3

2

1

0

byte 1

Success - Maximum QoS 0

0

0

0

0

0

0

0

0

byte 2

Success - Maximum QoS 2

0

0

0

0

0

0

1

0

byte 3

Failure

1

0

0

0

0

0

0

0

第三章目录 MQTT控制报文

项目主页

描述了有效载荷中单字节编码的返回码字段。

展示了在 简要描述的SUBACK报文的有效载荷。

3.0 Contents – MQTT控制报文
3.1 CONNECT – 连接服务端
3.2 CONNACK – 确认连接请求
3.3 PUBLISH – 发布消息
3.4 PUBACK –发布确认
3.5 PUBREC – 发布收到(QoS 2,第一步)
3.6 PUBREL – 发布释放(QoS 2,第二步)
3.7 PUBCOMP – 发布完成(QoS 2,第三步)
3.8 SUBSCRIBE - 订阅主题
3.9 SUBACK – 订阅确认
3.10 UNSUBSCRIBE –取消订阅
3.11 UNSUBACK – 取消订阅确认
3.12 PINGREQ – 心跳请求
3.13 PINGRESP – 心跳响应
3.14 DISCONNECT –断开连接
MQTT协议中文版
图例 3.25 – SUBACK报文可变报头
图例 3.26 – SUBACK报文有效载荷格式
图例 3.27 -有效载荷字节格式非规范示例
表格 3.6 -有效载荷非规范示例