MQTT协议学习笔记(一)
MQTT报文构建
报文简介
MQTT总共有Figure 1中描述的14类的报文,报文格式统一为 = 固定报头 + 可变报头 + 负载
Figure 1
固定报头
Figure 2
固定报头的Byte1,低四位都是保留位默认为0,高四位的值是Figure 1中的值(注意要以hex格式表示),例如CONNECT的固定报头Byte1为 10,DISCONNECT报头Byte1为为 E0 。
剩余长度:剩余长度表示的是可变报头 + 负载的长度,最大由4个字节表示,最小由1个字节表示,计算方法如下图表示

例如某报文的剩余长度为128,128 > 127,那么就由两个字节表示,高字节的低7位 = 128 % 128 = 0;高字节的最高位置1, 低字节 = 128 / 128 = 1;所以剩余长度表示为80 01;
所以发送CONNECT报文,剩余长度为128的固定报头表示为 10 80 01;
本文深入解析MQTT协议的报文构建过程,涵盖14种报文类型,详细讲解了固定报头、可变报头及负载的组成。重点介绍了固定报头的结构,包括保留位与指示位的含义,以及剩余长度字段的计算方法。
5083

被折叠的 条评论
为什么被折叠?



