西宁网站建设报价ew君博贴心,班级网页制作模板,洛阳青峰网络,郑州app制作开发MQTT协议-取消订阅和取消订阅确认
客户端向服务器取消订阅
取消订阅的前提是客户端已经通过CONNECT报文连接上服务器#xff0c;并且订阅了一个主题
UNSUBSCRIBE—取消订阅
取消订阅的报文同样是由固定报头可变报头有效载荷组成
固定报头由两个字节组成#xff0c;第一个…MQTT协议-取消订阅和取消订阅确认
客户端向服务器取消订阅
取消订阅的前提是客户端已经通过CONNECT报文连接上服务器并且订阅了一个主题
UNSUBSCRIBE—取消订阅
取消订阅的报文同样是由固定报头可变报头有效载荷组成
固定报头由两个字节组成第一个字节固定为A2第二个字节是剩余长度 可变报头的字节与订阅主题报文的可变报头内容一致也就是取消和订阅的是同一个主题不能没有订阅就取消根据前面文章知道订阅主题报文的可变报头为00 0A所以这里也是00 0A 在订阅主题时有效载荷是由主题过滤器和服务质量要求组成的但这里取消订阅就没有了服务质量要求只有一个主题过滤器该主题也是具有订阅权限的Topic类要转为十六进制才能组合报文 将自己的订阅权限Topic类转为十六进制长度为30十六进制为1E结果如下 网络调试助手发送取消订阅报文
先发送CONNECT报文连接阿里云再发送订阅主题报文最后发送取消订阅主题报文阿里云回复了取消订阅确认报文B0 02 00 0A后续对该报文进行解析 UNSUBACK一取消订阅确认
阿里云回复的取消订阅确认报文由固定报头可变报头有效载荷组成
固定报头如下 可变报头与取消订阅报文的可变报头一致都表示同一个Topic主题 取消订阅确认报文没有有效载荷所以这一部分为空 因此将固定报头可变报头有效载荷组合起来就得到了B0 ?? 00 0A
根据剩余长度计算方法可知??后面只有两个字节因此剩余长度为02所以取消订阅确认的完整报文为B0 02 00 0A