3.14 DISCONNECT –断开连接
quickmsg
DISCONNECT报文是客户端发给服务端的最后一个控制报文。表示客户端正常断开连接。
# 3.14.1 固定报头
# 图例 3.35 – DISCONNECT报文固定报头
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
byte 1 | MQTT控制报文类型 (14) | 保留位 | ||||||
1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | |
byte 2 | 剩余长度 (0) | |||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
服务端必须验证所有的保留位都被设置为0,如果它们不为0必须断开连接 [MQTT-3.14.1-1]。
# 3.14.2 可变报头
DISCONNECT报文没有可变报头。
# 3.14.3 有效载荷
DISCONNECT报文没有有效载荷。
# 3.14.4 响应
客户端发送DISCONNECT报文之后:
- 必须关闭网络连接 [MQTT-3.14.4-1]。
- 不能通过那个网络连接再发送任何控制报文 [MQTT-3.14.4-2]。
服务端在收到DISCONNECT报文时:
- 必须丢弃任何与当前连接关联的未发布的遗嘱消息,具体描述见 3.1.2.5节 [MQTT-3.14.4-3]。
- 应该关闭网络连接,如果客户端 还没有这么做。