SUBACK 消息由代理发送到客户机来确认接收到 SUBSCRIBE 消息。
SUBACK 消息包含已授权 QoS 级别的列表。这些是管理员用于使代理允许客户机预订特定主题名的级别。在当前版本的协议中,代理始终授权订户请求的 QoS 级别。在 SUBACK 消息中经授权的 QoS 级别 的顺序与相应的 SUBSCRIBE 消息中的主题名顺序相匹配。
下表显示了固定头的格式。
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
字节 1 | 消息类型(9) | DUP 标志 | QoS 级别 | RETAIN | ||||
1 | 0 | 0 | 1 | x | x | x | x | |
字节 2 | 剩余长度 |
有效内容包含已授权 QoS 级别的向量。每个级别响应相应的 SUBSCRIBE 消息中的主题名。在 SUBACK 消息中的 QoS 级别的顺序与 SUBSCRIBE 消息中的主题名和请求 的 QoS 对的顺序相匹配。可变头中的消息标识使您能将 SUBACK 消息与相应的 SUBSCRIBE 消息相匹配。
下表显示了在字节中编码的“已授权 QoS”字段。
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
保留 | 保留 | 保留 | 保留 | 保留 | 保留 | QoS 级别 | ||
x | x | x | x | x | x |
在当前的协议版本中不使用此字节的 6 个高位。保留它们供将来使用。
下表显示了一个示例有效内容。
授权的 QoS | 0 |
授权的 QoS | 2 |
下表显示了该有效内容的格式。
描述 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
---|---|---|---|---|---|---|---|---|---|
请求的 QoS | |||||||||
字节 1 | 授权的 QoS(0) | x | x | x | x | x | x | 0 | 0 |
授权的 QoS | |||||||||
字节 2 | 授权的 QoS(2) | x | x | x | x | x | x | 1 | 0 |