2017.09.28 MQTT部分总结
看了关于MQTT-3.1.1-CN 总结一下
一 、报文格式
(1)创建连接是的固定包头 0x10
(2)确定连接的固定包头 0x20 0x02
(3)发布消息 固定包头 0x3X
(4)订阅主题固定包头 0X82
(5)取消订阅 固定包头 0XA2
(6)心跳请求包 固定包头 0XC0 0X00
(7)心跳响应 固定包头 0XD0 0X00
(8)断开连接 固定包头 0XE0 0X00
二 、
(1)每个 MQTT 控制报文都包含一个固定报头。 图例 2.2 -固定报头的格式 描述了固定报头的格式。
(2)
(3)
(4)
**剩余长度表示为除了固定包头字节 与 表示固定长度的字节 剩余的所以长度。
此处需要注明:
(1)如果剩余长度为 0x38 = 0011 1000 = 56 ;
最高位为0 ,表明后面没有在表示长度的字节了,则剩余长度就是56 ,总长度 为56 +1+1 = 58 ;
(2)如果剩余长度 0xb7 0x08 = 1011 0111 0000 1000 ;
第一个字节最高位为1 表示后面跟的还是 表示的长度,第二个字节最高位为0 后面没有长度了。
剩余长度= (011 0111)+ (0000 1000) * 128 = 55 + 8 * 128 = 1079 ;
总长度 = 1079+1+2 = 1082;**