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。