当前位置:网站首页>【MQTT从入门到提高系列 | 07】MQTT3.1.1之链路保活及断开
【MQTT从入门到提高系列 | 07】MQTT3.1.1之链路保活及断开
2022-07-17 21:27:00 【i机器未来】
这是机器未来的第33篇文章
原文首发地址:https://blog.csdn.net/RobotFutures/article/details/125829353

1. 概述
本文描述了MQTT3.1.1协议链路保活及断开的消息逻辑。
2. PINGREQ – PING 请求
PINGREQ 数据包从客户端发送到服务器。它可用于:
- 在没有任何其他控制数据包从客户端发送到服务器的情况下,向服务器指示客户端是活动的。
- 请求服务器响应以确认它是活动的。
- 运行网络以指示网络连接处于活动状态。
此数据包用于 Keep Alive保活处理,与其CONNECT连接时的KeepAlive配置值有关。
服务器必须发送 PINGRESP 数据包以响应 PINGREQ 数据包
如果在KeepAlive的周期内没有任何业务消息且未发送PINGRESP/PINGREQ 消息,则链路会断开,并且会触发Will遗言机制,这个客户端发布消息的其它订阅者都会收到这条遗言消息。
3. PINGRESP——PING 响应
一个 PINGRESP 包由服务器发送给客户端以响应 PINGREQ 包。它表明服务器处于活动状态。
4. DISCONNECT – 断开连接通知
DISCONNECT 数据包是从客户端发送到服务器的最终控制数据包。它表明客户端正在干净地断开连接。
- 服务器必须验证保留位是否设置为零,如果它们不为零,则断开客户端
后台处理:
- 客户端发送 DISCONNECT 数据包后:
- 必须关闭网络连接 [MQTT-3.14.4-1]。
- 绝不能在该网络连接上发送任何控制数据包 [MQTT-3.14.4-2]。
- 服务器收到 DISCONNECT 后:
- 如第3.1.2.5节 [MQTT-3.14.4-3]中所述,必须丢弃与当前连接关联的任何遗嘱消息而不发布它。
- 如果客户端还没有关闭网络连接,应该关闭。
《MQTT快速入门系列》快速导航:
- 【MQTT从入门到提高系列 | 01】从0到1快速搭建MQTT测试环境
- 【MQTT从入门到提高系列 | 02】MQTT3.1.1TLS加密传输
- 【MQTT从入门到提高系列 | 03】一文掌握MQTT3.1.1协议框架
- 【MQTT从入门到提高系列 | 04】MQTT应用协议之CONNECT
- 【MQTT从入门到提高系列 | 05】MQTT3.1.1之PUBLISH发布工作流
- 【MQTT从入门到提高系列 | 06】MQTT3.1.1之SUBSCRIBE订阅工作流
写在末尾:
- 博客简介:专注AIoT领域,追逐未来时代的脉搏,记录路途中的技术成长!
- 专栏简介:从0到1掌握MQTT分布式协议。
- 面向人群:零基础编程爱好者
- 专栏计划:接下来会逐步发布跨入人工智能的系列博文,敬请期待
- Python零基础快速入门系列
- 快速入门Python数据科学系列
- 人工智能开发环境搭建系列
- 机器学习系列
- 物体检测快速入门系列
- 自动驾驶物体检测系列
- …

边栏推荐
- 2022年中国AI医学影像行业概览报告
- [dynamic programming] - longest ascending subsequence model
- Tree and bipartite graph [thinking]
- 陶博士月线反转6.0
- Huawei wireless devices are configured with static load balancing
- Codeforces Round #808 (Div. 1)(A~C)
- si446使用记录(三):MATCH功能
- Opencv template
- Event preview | Apache Doris x Apache seatunnel joint meetup to start registration!
- Optimal biking strategy [DP + two points]
猜你喜欢

MVCC多版本并发控制

ShanDong Multi-University Training #3
![Optimal biking strategy [DP + two points]](/img/04/b4efa6af3ddc1efd8bca85da76c151.png)
Optimal biking strategy [DP + two points]

活动预告|Apache Doris x Apache SeaTunnel 联合 Meetup 开启报名!

ping 命令还能这么玩?

Redis源码与设计剖析 -- 3.字典

2022年中国AI医学影像行业概览报告

详解C语言动态内存管理

Zhikanghu property elderly care service plan

4 a company has branches in six cities C1, C2, C3... C6. The connection between cities Ci and CJ (I, j=1,2,3,... 6) and the cost are listed in the following weighted adjacency matrix C
随机推荐
第二届「绿树杯」数学竞赛排名与评析
ClassNotFoundException:com.tongweb.geronimo.osgi.locator.ProviderLocator
AcWing 274. 移动服务【DP】
Silent AI: how does shengteng AI solve the problem of sign language learning with large models?
Huawei wireless device configuration user CAC
Si446 usage record (III): match function
Minuterie logicielle à puce unique v2.0
Tree and bipartite graph [thinking]
A review of classical must see for Nonconvex Optimization Problems "from symmetry to geometry", University of Rochester, et al
Is it true that tongdaxin opens an account? Is it safe for tongdaxin to open an account?
滑动窗口最大值问题
Use tongweb's hot deployment function with caution
Optimal Biking Strategy【DP + 二分】
ospf-LSA
暑期rhcsa培训第三天作业
欧奈尔的RPS曲线的编制方法(陶博士原创)
Pyside2嵌入Matplotlib的绘图
Redis源码与设计剖析 -- 3.字典
Redis源码与设计剖析 -- 4.跳跃表
研二非科班研究生如何备战秋招