MQTT协议SUBSCRIBE报文和SUBACK报文

SUBSCRIBE报文

         订阅主题是指客户端向服务器端订阅,服务端收到订阅后返回的信息叫订阅确认。

         同CONNECT报文一样,SUBSCRIBE报文也是由固定报头,可变报头和有效载荷组成。

QOS等级

        报文在发送过程中可能存在丢失的情况,最直接的解决方案就是重新发送。QOS等级是报文要交付几次。笔者这里采用QOS0等级,最多交付一次。

固定报头

 

可变报头

        可变报头包含了报文标识符。这里笔者采用了官方手册示例提供的10作为可变报头。

有效载荷

响应

        响应就是SUBACK报文。

SUBACK报文

固定报头

可变报头

        可变报头应该和SUBSCRIBE报文中的可变报头一致。

有效载荷

        有效载荷返回的是最大QOS等级,理论上应该和SUBSCRIBE报文设置的一致。

向阿里云发送订阅主题报文

        订阅主题用到的是SUBSCRIBE报文,除有效载荷外基本已经确定。下面给出有效载荷中的主题过滤器获取方法。

        /sys/i73p2lMcdoi/${deviceName}/thing/service/property/set 这个就是订阅报文中的主题过滤器,将${deviceName}改为自己的device名称。

        将主题过滤器转换为十六进制并整合好SUBSCRIBE报文,通过网络调试助手发送至阿里云服务器。(注意先使用CONNECT报文连接上服务器)

        图中返回的就是SUBACK报文,理论上最后一字节代表的是SUBSCRIBE报文中的QOS等级,但是无论SUBSCRIBE报文中设定的是QOS0还是QOS1,返回的都是01。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值