MQTT-java 属性“相关数据”(Correlation Data)

247 阅读5分钟

目标

通过Correlation Data协议数据,理解“MQTT-java 数据描述(Data representation)”中的“1.5.6 Binary Data”

Correlation Data

参见 “3.3.2.3.6 Correlation Data”

Followed by Binary Data. The Correlation Data is used by the sender of the Request Message to identify which request the Response Message is for when it is received. It is a Protocol Error to include Correlation Data more than once. If the Correlation Data is not present, the Requester does not require any correlation data.

实验代码

参见“MQTT-Java 订阅主题系列协议

实践日志

2023-09-02 21:07:03:297 Receive 包类型:PUBLISH
2023-09-02 21:07:03:301 Receive Message Header(二进制内容) : 00110010 00011101 00000000 00000110 01101000 01100001 01110010 01110110 01100101 01111001 00000000 00000101 00001010 00001001 00000000 00000111 01101000 01100001 01110010 01110110 01100101 01111001 00110001 
2023-09-02 21:07:03:302 Receive Message Header(字符串内容) : 2�harvey�
	�harvey1
2023-09-02 21:07:03:302 Receive Message payload(二进制内容) : 01010011 01101000 01100001 01101110 01100111 01001000 01100001 01101001 
2023-09-02 21:07:03:302 Receive Message payload(字符串内容) : ShangHai

2023-09-02 21:07:03:311 Send 包类型:PUBACK
2023-09-02 21:07:03:311 Send Message Header(二进制内容) : 01000000 00000010 00000000 00000101 
2023-09-02 21:07:03:311 Send Message Header(字符串内容) : @�
2023-09-02 21:07:03:312 Send Message payload(二进制内容) : 
2023-09-02 21:07:03:312 Send Message payload(字符串内容) : 内容长度=0,内容=

2023-09-02 21:07:10:073 Receive 包类型:PUBLISH
2023-09-02 21:07:10:074 Receive Message Header(二进制内容) : 00110010 00011101 00000000 00000110 01101000 01100001 01110010 01110110 01100101 01111001 00000000 00000110 00001010 00001001 00000000 00000111 01101000 01100001 01110010 01110110 01100101 01111001 00110010 
2023-09-02 21:07:10:074 Receive Message Header(字符串内容) : 2�harvey�
	�harvey2
2023-09-02 21:07:10:075 Receive Message payload(二进制内容) : 01010011 01101000 01100001 01101110 01100111 01001000 01100001 01101001 
2023-09-02 21:07:10:075 Receive Message payload(字符串内容) : ShangHai

2023-09-02 21:07:10:077 Send 包类型:PUBACK
2023-09-02 21:07:10:078 Send Message Header(二进制内容) : 01000000 00000010 00000000 00000110 
2023-09-02 21:07:10:078 Send Message Header(字符串内容) : @�
2023-09-02 21:07:10:078 Send Message payload(二进制内容) : 
2023-09-02 21:07:10:079 Send Message payload(字符串内容) : 内容长度=0,内容=

协议分析

固定头:00110010 00011101

可变头:00000000 00000110 01101000 01100001 01110010 01110110 01100101 01111001 00000000 00000101 00001010 00001001 00000000 00000111 01101000 01100001 01110010 01110110 01100101 01111001 00110001 

可变头-主题 00000000 00000110 (6个字节)
01101000 01100001 01110010 01110110 01100101 01111001(harvey)

可变头-唯一标识 00000000 00000101 (5个字节)

可变头-属性 00001010(10个字节)
00001001 (Correlation Data)
00000000 00000111(长度:7个字节)
01101000 01100001 01110010 01110110 01100101 01111001 00110001 (harvey1)