3.9 SUBACK – 订阅确认
服务端发送SUBACK报文给客户端,用于确认它已收到并且正在处理SUBSCRIBE报文。
SUBACK报文包含一个返回码清单,它们指定了SUBSCRIBE请求的每个订阅被授予的最大QoS等级。
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
byte 1 | MQTT控制报文类型 (9) | 保留位 | | | | | | |
| 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
byte 2 | 剩余长度 | | | | | | | |
剩余长度字段
等于可变报头的长度加上有效载荷的长度。
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
byte 1 | 报文标识符 MSB | | | | | | | |
byte 2 | 报文标识符 LSB | | | | | | | |
有效载荷包含一个返回码清单。每个返回码对应等待确认的SUBSCRIBE报文中的一个主题过滤器。返回码的顺序必须和SUBSCRIBE报文中主题过滤器的顺序相同 [MQTT-3.9.3-1]。
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]。
Success - Maximum QoS 0 | 0 |
Success - Maximum QoS 2 | 2 |
Failure | 128 |
| 描述 | 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 |
最近更新 3yr ago