MQTT-Java PING协议

109 阅读1分钟

目标

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

准备

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

客户端连接MQTT服务器日志

启动测试工程后,等待60秒,将会看到如下日志信息

2023-08-25 13:35:04:715 Send Message Header(二进制内容) : 11000000 00000000 
2023-08-25 13:35:04:715 Send Message Header(字符串内容) : ��
2023-08-25 13:35:04:715 Send Message payload(字符串内容) : 0 
2023-08-25 13:35:04:717 Receive Message Header(二进制内容) : 11010000 00000000 
2023-08-25 13:35:04:717 Receive Message Header(字符串内容) : ��
2023-08-25 13:35:04:717 Receive Message payload(字符串内容) : 

MQTT 协议规范对照解析

MQTT 协议结构

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

PING协议详细解析

请求

2023-08-25 13:35:04:715 Send Message Header(二进制内容) : 11000000 00000000

参见 “3.12.1 PINGREQ Fixed Header

协议-PING固定头.png

PING协议的固定头值为: 11000000 00000000

返回

2023-08-25 13:35:04:717 Receive Message Header(二进制内容) : 11010000 00000000

参见 “3.13.1 PINGRESP Fixed Header

协议-PING返回.png

PING 返回的固定头值为: 11010000 00000000