官网中文地址:https://mcxiaoke.gitbooks.io/mqtt-cn/content/mqtt/02-ControlPacketFormat.html
报文结构:固定报头+可变报头+有效载荷
1.固定报头
1.1 固定报头总览:
1.2.MQTT控制报文类型
1.3.指定控制报文类型的标志位:(暂时只会用到PUBLISH)
1.4 剩余长度 Remaining Length(包括可变报头和负载的数据的长度)
使用变成编码(1到4个字节表示,即最大可表示256M,每个字节可编码128个数值+1个延续位(最高位是延续位表示是否有更多字节,低7位表示128个数值)):
2.可变报头
可变报头的内容根据 控制报文类型 的不同而不同。(特别注意:部分控制报文需要 报文标识符字段)
PUBACK, PUBREC, PUBREL报文必须包含与最初发送的PUBLISH报文相同的报文标识符,以此来标识是同一条信息
如果一个客户端要重发这个特殊的控制报文,在随后重发那个报文时,它必须使用相同的标识符。
当客户端处理完这个报文对应的确认后,这个报文标识符就释放可重用。QoS 1的PUBLISH对应的是PUBACK,QoS 2的PUBLISH对应的是PUBCOMP
3.有效载荷 Payload(应用消息)
最后
以上就是粗犷蜻蜓最近收集整理的关于MQTT基础(报文结构)的全部内容,更多相关MQTT基础(报文结构)内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复