当前位置: 首页 > 文档资料 > MQTT 协议中文版 >

第三章 – MQTT控制报文 - 3.6 PUBREL – 发布释放(QoS 2,第二步)

优质
小牛编辑
119浏览
2023-12-01

3.6 PUBREL – 发布释放(QoS 2,第二步)

PUBREL报文是对PUBREC报文的响应。它是QoS 2等级协议交换的第三个报文。

3.6.1 固定报头

图例 3.16 – PUBREL报文固定报头

Bit76543210
byte 1MQTT控制报文类型 (6)保留位
11000010
byte 2剩余长度 (2)
00000010

PUBREL控制报文固定报头的第3,2,1,0位是保留位,必须被设置为0,0,1,0。服务端必须将其它的任何值都当做是不合法的并关闭网络连接 [MQTT-3.6.1-1]。

剩余长度字段

表示可变报头的长度。对PUBREL报文这个值等于2.

3.6.2 可变报头

可变报头包含与等待确认的PUBREC报文相同的报文标识符。

图例 3.17 – PUBREL报文可变报头

Bit76543210
byte 1报文标识符 MSB
byte 2报文标识符 LSB

3.6.3 有效载荷

PUBREL报文没有有效载荷。

3.6.4 动作

完整的描述见 4.3.3节。

第三章目录 MQTT控制报文

  • 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 –断开连接