概述
一. 订阅Subscribe数据包
1. QoS=0(1,2),抓包分析:
分析:
Subscribe 报文固定报头
82 : 其中bit7~bit4 :8 对应消息类型为 Subscribe, bit3~bit0: 2 保留位
09 : 剩余长度
Subscribe 报文可变报头
00 : 报文标识符MSB
01 : 报文标识符LSB, (报文标识符由16位组成, 因此这里我们报文标识符位1)
00 : 之后主题过滤器(Topic Filter)长度MSB
04 : 主题过滤器(Topic Filter)长度 LSB ,与我们设置的"test"长度 符号
74 65 73 74 : 对应的就是主题过滤器"test"
00 : QoS = 0, 若设置的是“至少一次”, 则为01, 若设置"刚好一次",则为02
继续,看看服务器返回给我们的Subscribe ack数据包:
分析:
Subscribe ACK 报文固定报头
90 : bit7~bit4值对应9,表示是Subscribe ack消息类型, bit3~bit0 保留位为0
03 : 剩余长度
Subscribe ACK 报文可变报头
00 : 报文标识符MSB
01 : 报文标识符LSB, 因此这里的报文标识符为1, 与我们之前Subscribe发送的报文标识符一致
Subscribe ACK 有效载荷
00 :bit7为0,表示成功,bit6~bit4 固定为0; bit3~bit2固定为0; bit1~bit0 : 0 ,表示QoS=0,完全符合我们的设置
最后
以上就是舒服汽车为你收集整理的MQTT通讯协议分析(二): 订阅Subscribe的全部内容,希望文章能够帮你解决MQTT通讯协议分析(二): 订阅Subscribe所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复