协议就是通信双方的一个约定,即,表示第1位传输的什么、第2位传输的什么……。在MQTT协议中,一个MQTT数据包由:固定头(Fixed header)、 可变头(Variable header)、 消息体(payload)三部分构成。
MQTT 数据包结构
固定头(Fixed header),存在于所有MQTT数据包中,表示数据包类型及数据包的分组类标识
可变头(Variable header),存在于部分MQTT数据包中,数据包类型决定了可变头是否存在及其具体内容
消息体(Payload),存在于部分MQTT数据包中,表示客户端收到的具体内容
1 MQTT固定头
固定头存在于所有MQTT数据包中,其结构如下:
Bit 7 6 5 4 3 2 1 0
byte 1 MQTT数据包类型 不同类型MQTT数据包的具体标识
byte 2… 剩余长度
1.1 MQTT数据包类型
位置:byte 1, bits 7-4。
相于一个4位的无符号值,类型如下:
名称 值 流方向 描述
Reserved 0 不可用 保留位
CONNECT 1 客户端
MQTT 数据包结构
固定头(Fixed header),存在于所有MQTT数据包中,表示数据包类型及数据包的分组类标识
可变头(Variable header),存在于部分MQTT数据包中,数据包类型决定了可变头是否存在及其具体内容
消息体(Payload),存在于部分MQTT数据包中,表示客户端收到的具体内容
1 MQTT固定头
固定头存在于所有MQTT数据包中,其结构如下:
Bit 7 6 5 4 3 2 1 0
byte 1 MQTT数据包类型 不同类型MQTT数据包的具体标识
byte 2… 剩余长度
1.1 MQTT数据包类型
位置:byte 1, bits 7-4。
相于一个4位的无符号值,类型如下:
名称 值 流方向 描述
Reserved 0 不可用 保留位
CONNECT 1 客户端