MQTT-Java DISCONNECT协议

85 阅读1分钟

目标

理解客户端DISCONNECT MQTT服务器协议

准备

参见 “MQTT 实践” ,“MQTT-Java 连接协议” 完成测试工程配置

客户端连接MQTT服务器日志

2023-08-25 21:39:42:941 Send 包类型:DISCONNECT
2023-08-25 21:39:42:941 Send Message Header(二进制内容) : 11100000 00000010 00000000 00000000 
2023-08-25 21:39:42:942 Send Message Header(字符串内容) : �
2023-08-25 21:39:42:942 Send Message payload(字符串内容) : 0 

MQTT 协议规范对照解析

MQTT 协议结构

整体结构 :固定头+可变头+内容 协议-包结构.png

DISCONNECT协议详细解析

请求

2023-08-25 21:39:42:941 Send Message Header(二进制内容) : 11100000 00000010 00000000 00000000

参见 “3.14.1 DISCONNECT Fixed Header”

协议-disconnect请求.png

DISCONNECT协议的固定头值为: 11000000 xxxxxxxx
xxxxxxxx : 本次请求为 00000010 , 代表后边还有2个字节

第一个字节第二个字节
0000000000000000
参见 “3.14.2.1 Disconnect Reason Code”参见"3.14.2.2.1 Property Length"