合信论坛

快捷导航
查看: 61|回复: 0

MQTT通讯的遗嘱机制

[复制链接]

4

主题

4

帖子

90

积分

注册会员

Rank: 1

积分
90
发表于 2025-12-7 14:36:46 | 显示全部楼层 |阅读模式
MQTT通讯的遗嘱机制

一MQTT遗嘱机制:
MQTT遗嘱消息(Last Willand Testament,LWT)是一种客户端在建立连接时预先定义的特殊消息,当客户端异常断开连接时,由MQTT代理(Broker)代为发布到指定主题。
产线设备可能因电力故障、网络中断或硬件问题突然离线,而遗嘱机制确保了这种异常情况能够被及时通知到整个系统。
遗嘱消息包含三个基本要素:预设的主题、具体的消息内容以及消息的服务质量等级。当客户端正常发送DISCONNECT报文断开连接时,代理会丢弃存储的遗嘱消息;
只有当客户端异常断开1.5倍的保活时间后,遗嘱消息才会被发布。
如果是因为Broker的关闭而造成的异常断开,则遗嘱消息会立马发布

1程序.jpg
2遗嘱触发数据帧.jpg
二、遗嘱消息的设置位置(CONNECT 报文)
客户端在首次连接 Broker 时,会通过 CONNECT 报文指定遗嘱参数,例如:
3建立连接时遗嘱数据.png
当 Broker 检测到该客户端非正常掉线时,会自动执行:
4遗嘱机制触发发布内容.png

三、遗嘱消息的触发条件
遗嘱消息 仅在客户端非正常断开 时才会发布。
  
断开类型
  
遗嘱触发?
说明
正常断开(发送 DISCONNECT)
❌ 否
客户端主动告知 Broker,连接正常关闭
网络中断(如 Wi-Fi 断开、电源断电)
✅ 是
Broker 检测到超时或 TCP 断开
Broker 主动关闭连接
✅ 是
Broker 端异常关闭连接也会触发
四、遗嘱消息的工作流程(时序解析)
1️ 客户端连接时:向 Broker 声明遗嘱消息参数;
2️ 客户端上线正常通信;
3️ 客户端异常掉线(未发送 DISCONNECT);
4️ Broker 检测到 TCP 断开;
5️ Broker 自动发布遗嘱消息到指定 Topic;
6️ 所有订阅者收到“设备离线”通知。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

客服热线
400-700-4858 周一至周五:09:00 - 18:00
深圳市南山区打石一路深圳国际创新谷6栋A座9层

深圳市合信自动化技术有限公司(简称“合信技术”)成立于2003年,高新技术企业,专注于工业自动化产品的研发、生产、销售和技术服务,依靠高质量、高性能的自动化控制产品与方案为客户创造最大价值,立志于成为全球领先的工业自动化解决方案供应商。

Archiver|手机版|小黑屋|COTRUST Inc. ( 粤ICP备13051915号 )

GMT+8, 2025-12-19 05:53 , Processed in 0.185819 second(s), 26 queries .

快速回复 返回顶部 返回列表