mqtt协议详解_阿里云物联网平台使用心得(10)MQTT协议之固定报头详解
题目大家好,又和大家见面了,超子我能力有限,水平不高,有什么错误的地方,欢迎板砖。超子在《阿里云物联网平台使用心得(七)MQTT协议14个报文总览》一文中介绍过,固定报头是MQTT协议中14个报文都必须包含的成员。我们看下它的格式固定报头格式上图中显示固定报头有2个字节,但是超子在这里给大家预告下,剩余长度=可变报头长度+负载长度,而且根据具体的值,剩余长度最少1个字节,最多4个字节,那么固定报头
题目
大家好,又和大家见面了,超子我能力有限,水平不高,有什么错误的地方,欢迎板砖。超子在《阿里云物联网平台使用心得(七)MQTT协议14个报文总览》一文中介绍过,固定报头是MQTT协议中14个报文都必须包含的成员。我们看下它的格式
固定报头格式
上图中显示固定报头有2个字节,但是超子在这里给大家预告下,剩余长度=可变报头长度+负载长度,而且根据具体的值,剩余长度最少1个字节,最多4个字节,那么固定报头的长度就是,最少2个字节,最多5个字节。
接下来分析固定报头中的byte1,包含两个部分,MQTT控制报文类型和用于指定控制报文类型的标志位。
(1)MQTT控制报文类型,回想《阿里云物联网平台使用心得(七)MQTT协议14个报文总览》,每一个报文都有一个值,看下图红圈圈起来的部分。
MQTT控制报文类型的来源
这个“值”就是byte1中MQTT控制报文类型的值,总共14个报文,那么就是 0x1~0xE。
(2)用于指定控制报文类型的标志位,这个标志位看下图的总结
控制报文类型的标志位总结图
然后超子把(1)和(2)组合起来总结一下,如下图所示
各个报文固定报头byte1总结图
除了PUBLISH报文,其余13个报文固定报头中的byte1就搞定了,下次超子给大家介绍固定报头中的剩余长度,这个是MQTT协议中最麻烦的一个知识点了。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)