笔者已经把连接报文,订阅报文,发布报文都讲解了完了。而接下来就是取消订阅报文和断开连接报文。和其他的报文比较的话,他们显示非常简单。甚至笔者觉得可以不必要拿出来讲。只要看一下MQTT文档就没有什么不清楚的。为了完整一点笔者就把他们放在一直了。

取消订阅报文

固定报头的结构笔者不都说了。主要记得固定报头的QOS为1就行了。笔者把官方的列表贴过来了。如下

我们知道固定报头分三部分,一个是报文类型,一个是报文标示。一个是剩余长度。取消订阅报文类型的值为10。然后我们看QOS 为1。对应的二进制为10100010。Remaining Length为剩余长度,同样子二进制为八位。所以固定报头的二进制一定是10100010  xxxxxxxx。

xxxxxxxx表示剩余长度的二进制。后面笔者还会抓包来看。

可变报头里面就一个消息ID的项。没有其他的。

有效载何里面存放的是主题列表。就是用于取消订阅的主题列表。如下

笔者不知道到现还有没有人看不懂这种列表的。Topic Filter为主题过滤,即是主题名。而byte 1类似这种表示每一元素。比如上面举列中的Topic Filter是有五元素组成的。后面是每一个元素的二进制。

MQTT 文档里面对取消订阅报文并没有特别的要求。也只是删除的动作做了一些要求。删除这个订阅的时候,就必须停止发送任何信息了。同时如果有正在分送中的QOS 1 QOS2的信息就必须要完成才行。当然也可以分送准备的缓存信息。

上面我们看到了取消订阅报文的QOS为1。所以会有一个回应。即是取消订阅确定报文(UNSUBACK)。取消订阅确定报文(UNSUBACK)只有固定报头和可变报头,可变报头里面只有一个消息ID的项。没有什么可说的。

相关的包

取消订阅报文

取消订阅确定报文

我们可以看到取消订阅报文有多么的简单,但是还是不如断开连接报文来的简单。因为断开连接报文没有可变报头,没有有效载荷。就一个固定报头。没有错就是一个固定报头。不多说,笔者把固定报头的列表贴出来。如下

上面的列表就是断开连接报文的全部。

断开连接报的结构是最简单的。但是文档中还是指出了几点要注意的。

1)判断固定报头中的标示部分必须是0000,如果不是0就断开连接。

2)客户端不能在通过该连接发送任何信息了。

3)服报端要删除与当前连接关联的未发布的遗嘱消息。同时如果客户端没有断开的话,服务端必须断开。

断开连接报文

mqtt 传文件断开连接的原因_MQTT——取消订阅报文和断开连接报文相关推荐

  1. mqtt 传文件断开连接的原因_mqtt服务器连上就断开

    云端接入域名和端口号是什么? 域名:js ${YourProductKey}.iot-as-mqtt.${YourRegionId}.aliyuncs.com . 其中,${YourProductKe ...

  2. php图片上传报502,PHPStrom上传文件报502错误原因,_PHP教程

    PHPStrom上传文件报502错误原因, PhpStorm是一个轻量级且便捷的PHP IDE,其自身拥有apache类似的编译器,能够在无Apache的情况下运行,很适合初学PHPStrom的朋友. ...

  3. php上传文件502,PHPStrom上传文件报502错误原因

    « PHPStrom上传文件报502错误原因» PhpStorm是一个轻量级且便捷的PHP IDE,其自身拥有apache类似的编译器,能够在无Apache的情况下运行,很适合初学PHPStrom的朋 ...

  4. QQ群、讨论组上传文件,由于网络原因上传失败?

    QQ群.讨论组上传文件,由于网络原因上传失败? 听语音 | 浏览:194 | 更新:2016-10-29 14:17 | 标签:软件 电脑 1 2 3 4 分步阅读 QQ群.讨论组上传文件,总是由于网 ...

  5. 解决QQ群、讨论组上传文件,由于网络原因上传失败?

    最近qq上传群文件老是失败,但是同事他们可以,目前已经解决QQ群.讨论组上传文件,由于网络原因上传失败?,做法如下: 输入regedit,打开注册表,然后找到这个位置HKEY_CURRENT_USER ...

  6. 【SSH】SSH自动断开连接的原因和解决办法|SSH保持长连接方法

    目录 原因 解决方法 即看即用 方法1:手工修改 方法2:shell命令行修改 详细说明 REMOTE HOST IDENTIFICATION HAS CHANGED问题解决 原因 用putty/Se ...

  7. FTP上传文件提示550错误原因分析。

    今天测试FTP上传文件功能,同样的代码从自己的Demo移到正式的代码中,不能实现功能,并报 Stream rs = ftp.GetRequestStream()提示远程服务器返回错误: (550) 文 ...

  8. EasyDSS临时授权报错“上传文件无效”是什么原因?

    EasyDSS视频直播点播流媒体解决方案在互联网视频直播风口上得到了广泛的应用,平台兼容多操作系统,支持Flash.H5播放,具有电视直播.现场直播.时移电视.即刻回看和视频点播功能.尤其是在无人机推 ...

  9. php上传文件很慢的原因_PHP编码安全:上传文件安全

    一次性付费进群,长期免费索取教程,没有付费教程. 进微信群回复公众号:微信群:QQ群:460500587  教程列表 见微信公众号底部菜单 |  本文底部有推荐书籍  微信公众号:计算机与网络安全 I ...

最新文章

  1. 过滤内容字段_巧用参数组件和过滤组件,教你快速定位目标数据
  2. python阿拉伯数字转中文_python中将阿拉伯数字转换成中文的实现代码
  3. go struct{} 空结构体的特点和作用
  4. MySQL 备份和恢复
  5. javascript使用闭包模拟私有属性和方法
  6. mongodb-java-driver基本用法
  7. 如何让 Pages 文字分为两栏或更多栏?
  8. java (Eclipse)连接MySQL数据库
  9. Trapcode套装插件原创图文/视频安装教程
  10. 如何将Kali Linux中的Firefox浏览器语言设置为中文
  11. 奥克兰大学计算机领域优势,奥克兰大学世界排名及优势专业排名解析
  12. 在追寻梦想的路上,我们都一样
  13. 选课系统源码html,高校选课系统 - WEB源码|源代码 - 源码中国
  14. 视频边框背景如何虚化,简单操作几步实现
  15. Robot Framework Selenium UI自动化测试 --- 实战篇
  16. 华为6个月试用期经历
  17. Open3D Intrinsic shape signatures (ISS) 固有形状特征码
  18. 时间轮算法HashedWheelTimer
  19. PHP求职宝典系列——PHP Web 编程篇
  20. ScheduledFuture

热门文章

  1. 省级分布图matlab实现(有九段线)
  2. 计算机主板上主要有哪些芯片,电脑主板上主要的芯片及作用
  3. 1043: 绩点计算
  4. STC8单片机驱动DDS信号发生器AD9850扫频
  5. 在一个类的成员函数中调用另一个类的成员函数
  6. 从棚改到旧改,会带来什么?
  7. C语言入门:快递费用计算
  8. 崴脚后会静脉曲张吗?
  9. ZZULIOJ 1184: 平面点排序(二)(结构体专题)
  10. 多余的拼音导致Python的数据类型错误