SUBACK
3.9 SUBACK - 订阅确认 Subscribe acknowledgement)
Subscribe acknowledgement)
服务端发送SUBACK
到客户端以确认接受和处理 SUBSCRIBE
报文。
SUBACK
报文包含一个返回码列表,它指定了SUBSCRIBE
请求的每个订阅中授权的最大QoS级别。
3.9.1 固定报头 Fixed header
Fixed header
图例 3.24 - SUBACK报文固定报头
位 Bit76543210byte 1MQTT控制数据包类型(9) MQTT Control Packet Type (9)保留位 Reserved10010000byte 2剩余长度 Remaining Length
剩余长度字段
=可变报头的长度(2字节)+有效负载的长度
3.9.2 可变报头 Variable header
Variable header
可变报头包含与等待被确认的SUBSCRIBE
报文相同的报文标识符。图例3.25–SUBACK报文可变报头说明了可变报头格式:
图例3.25-SUBACK报文可变报头
位 Bit76943210byte 1报文标识符的最高有效字节 Packet Identifier MSBbyte 2报文标识符的最低有效字节 Packet Identifier LSB
3.9.3 有效负载 Payload
Payload
有效负载包含返回码列表。每个返回码对应与等待确认的SUBSCRIBE
报文中主题过滤器。==SUBACK
报文中返回码的顺序必须与SUBSCRIBE
报文中的主题过滤器的顺序相匹配。==[MQTT-3.9.3-1]
图3.26-SUBACK报文有效负载格式说明了有效负载中单字节编码的返回码。
图3.26-SUBACK报文有效负载格式
位 Bit76943210返回码 Return Codebyte 1X00000XX
允许的返回码: 0x00 - 成功 - 最大 QoS 0 0x01 - 成功 - 最大 QoS 1 0x02 - 成功 - 最大 QoS 2 0x80 - 失败
==除0x00,0x01,0x02和0x80以外的SUBACK
返回码被保留,并不得使用。==[MQTT-3.9.3-2]
3.9.3.1 有效负载的非规范示例 Payload non normative example
Payload non normative example
图3.27有效负载的字节格式的非规范示例显示了表3.6-有效负载的非规范示例中描述的SUBACK
报文的有效负载。
表3.6-有效负载的非规范示例
成功 - 最大QoS 0 Success - Maximum QoS 00成功 - 最大QoS 2 Success - Maximum QoS 22失败 Failure128
图3.27有效负载的字节格式的非规范示例
描述 Description76743210byte 1成功 - 最大QoS 0 Success - Maximum QoS 000000000byte 2成功 - 最大QoS 2 Success - Maximum QoS 200000010byte 2失败 Failure10000000
Last updated