我是靠谱客的博主 阔达酒窝,最近开发中收集的这篇文章主要介绍MQTT协议详解及开发教程(十)取消订阅UNSUBSCRIBE及UNSUBACK报文流程分析前言1. Client 取消订阅UNSUBSCRIBE 主题示例2 UNSUBACK 取消订阅确认报文分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

推荐一款稳定的基于C编写的MQTT Client开源库 cMQTT
MQTT协议详解及开发教程(一)MQTT协议概述
MQTT协议详解及开发教程(二)MQTT服务器EMQx搭建
MQTT协议详解及开发教程(三)MQTT Client工具软件选择及简单测试
MQTT协议详解及开发教程(四)MQTT协议报文格式
MQTT协议详解及开发教程(五)CONNECT/CONNACK报文分析
MQTT协议详解及开发教程(六)PUBLISH发布QoS0消息报文分析
MQTT协议详解及开发教程(七)PUBLISH发布QoS1报文流程分析
MQTT协议详解及开发教程(八)PUBLISH发布QoS2报文流程分析
MQTT协议详解及开发教程(九)订阅SUBSCRIBE及SUBACK报文流程分析

前言

在上一篇文章中,我们对SUBSCRIBE和SUBACK报文进行了分析,本文我们接着分析UNSUBSCRIBE及UNSUBACK的报文流程

1. Client 取消订阅UNSUBSCRIBE 主题示例

unsubscribe示例

1.1 UNSUBSCRIBE抓包

UNSUBSCRIBE抓包
源码如下:

a2 0d 00 0a 00 09 54 65 73 74 54 6f 70 69 63  

1.2 固定报头

a2 d
其中:
a2 – 对应的控制报文类型为UNSUBSCRIBE
0d – 剩余长度0x0d = 13个字节

1.3 可变报头

00 0a 当前的报文 packet ID为 0x000a

1.4 有效载荷

1.4.1 取消订阅的topic信息

00 09 54 65 73 74 54 6f 70 69 63
其中,
00 09–对应topic 长度。
54 65 73 74 54 6f 70 69 63 --对应的ASCII码:TestTopic

2 UNSUBACK 取消订阅确认报文分析

2.1 UNSUBACK 抓包

UNSUBACK抓包
源码:

b0 02 00 0a                                       ....                       

2.2 固定报头

b0 02
其中:
b0 – 对应的控制报文类型为UNSUBACK,
02 – 剩余长度0x02 = 2个字节

2.3 可变报头

00 0a
这里就是报文描述符Packet ID,与UNSUBSCRIBE中的是一致的。

2.4 有效载荷

UNSUBACK报文中没有有效载荷

最后

以上就是阔达酒窝为你收集整理的MQTT协议详解及开发教程(十)取消订阅UNSUBSCRIBE及UNSUBACK报文流程分析前言1. Client 取消订阅UNSUBSCRIBE 主题示例2 UNSUBACK 取消订阅确认报文分析的全部内容,希望文章能够帮你解决MQTT协议详解及开发教程(十)取消订阅UNSUBSCRIBE及UNSUBACK报文流程分析前言1. Client 取消订阅UNSUBSCRIBE 主题示例2 UNSUBACK 取消订阅确认报文分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部