MQTT四次握手
MQTT 的四次握手特指QoS 2Exactly Once恰好一次消息传递机制。它是 MQTT 协议中可靠性最高、但也最复杂的交付保障核心目标是确保消息既不丢失也不重复。这四次握手并非建立连接而是针对单条消息的端到端确认流程。 四次握手详细流程整个过程涉及四种控制报文通过两个阶段的确认来保证消息的唯一性PUBLISH (QoS 2)发送方客户端或 Broker发出消息并携带唯一的 Packet ID。发送方会将此消息持久化存储直到收到最终确认12。PUBREC (Publish Received)接收方收到 PUBLISH 报文后不会立即将消息投递给应用层而是先回复 PUBREC 报文告知发送方“我已安全收到请进入第二阶段”。同时接收方会记录下这个 Packet ID防止后续重复处理。PUBREL (Publish Release)发送方收到 PUBREC 后确认接收方已安全接收于是可以丢弃原始的 PUBLISH 消息。随后发送 PUBREL 报文通知接收方“你可以安全地处理这条消息了”。PUBCOMP (Publish Complete)接收方收到 PUBREL 后确认不会再收到重传的 PUBLISH 报文于是将消息正式投递给应用层并回复 PUBCOMP 报文。发送方收到 PUBCOMP 后丢弃 PUBREL 报文整个消息传递流程才算真正完成。️ 为什么需要四次如何防止重复QoS 1 只需要两次握手PUBLISH PUBACK但存在一个致命缺陷如果接收方处理完消息并发送了 PUBACK但 PUBACK 在网络中丢失发送方超时后会重传 PUBLISH导致接收方重复处理消息12。QoS 2 的四次握手通过状态机 Packet ID完美解决了这个问题第一阶段 (PUBLISH → PUBREC)确保消息被安全接收。即使 PUBREC 丢失导致发送方重传 PUBLISH接收方通过 Packet ID 识别出这是重复消息只会再次回复 PUBREC而不会重新处理消息。第二阶段 (PUBREL → PUBCOMP)确保消息被安全投递。只有收到 PUBREL接收方才确认“不会再有重传”此时才将消息交给应用层。即使 PUBCOMP 丢失发送方重传 PUBREL接收方也能通过状态机识别出该消息已处理完毕直接回复 PUBCOMP避免重复投递。⚠️ 关键注意事项会话内有效QoS 2 的“恰好一次”保证仅在单个会话Session内有效。如果客户端断开重连且Clean Session true历史状态丢失无法跨会话保证唯一性。性能开销最大四次握手意味着每条消息至少需要 4 次网络往返带宽和延迟开销远高于 QoS 0 和 QoS 1。不要滥用除非是计费、金融交易、关键控制指令等绝对不能丢失或重复的场景否则不建议使用 QoS 223。对于高频传感器数据或普通告警QoS 1 配合应用层幂等处理是更优选择13。应用层仍需幂等尽管 QoS 2 在协议层保证了“恰好一次”但在分布式系统或客户端异常重启等极端情况下应用层实现幂等处理依然是最佳实践1。 QoS 级别对比速查QoS 级别语义握手次数可靠性适用场景QoS 0至多一次 (At most once)1 次最低可能丢失高频传感器数据、日志上报QoS 1至少一次 (At least once)2 次中等保证送达但可能重复告警通知、设备状态同步QoS 2恰好一次 (Exactly once)4 次最高不丢不重计费、金融交易、关键控制指令核心总结MQTT 四次握手是 QoS 2 的实现机制通过两阶段确认和状态机设计在协议层面解决了 QoS 1 的重复投递问题。但它以性能为代价仅适用于对消息一致性要求极高的关键场景12。

相关新闻

Go泛型堆(heap/v2)设计与性能优化实践

Go泛型堆(heap/v2)设计与性能优化实践

1. Go语言堆数据结构演进史在计算机科学中,堆(Heap)是一种特殊的完全二叉树结构,它满足堆属性:每个节点的值都大于等于(最大堆)或小于等于(最小堆)其子节点的值。这种数据…

2026/8/3 3:32:35 阅读更多 →
CTF Web安全入门:SQL注入、文件上传与命令执行三大核心漏洞详解

CTF Web安全入门:SQL注入、文件上传与命令执行三大核心漏洞详解

1. 项目概述:从零到一,理解CTF Web赛道的核心价值如果你刚接触网络安全,或者对CTF(Capture The Flag,夺旗赛)充满好奇,看到“Web安全”这个赛道时,可能会觉得它既神秘又复杂。各种漏…

2026/8/3 3:32:35 阅读更多 →
转化服务数字员工:智能客服和智能销售如何减少线索漏损

转化服务数字员工:智能客服和智能销售如何减少线索漏损

很多企业投入大量预算做流量,但转化一直上不去。问题往往不在流量不够,而在"接不住"。用户来了,咨询没人及时回,等了半天就走了;线索攒了一堆,没人跟进,慢慢就凉了;客户咨…

2026/8/3 3:32:35 阅读更多 →

最新新闻

Excel筛选后复制粘贴失效?定位可见单元格的4种解决方案

Excel筛选后复制粘贴失效?定位可见单元格的4种解决方案

1. 问题场景与核心痛点剖析如果你经常和Excel打交道,尤其是处理从系统导出的报表、整理多部门汇总的数据,那么“筛选后复制粘贴失灵”这个坑,你大概率踩过。表面上看,你只是选中了筛选后的可见单元格,执行了最常规的“…

2026/8/3 4:19:55 阅读更多 →
冰蓄冷空调与冷热电联供微网系统优化调度实践

冰蓄冷空调与冷热电联供微网系统优化调度实践

1. 项目背景与核心价值冰蓄冷空调结合冷热电联供的微网系统,是当前能源领域的前沿研究方向。这种系统通过多时间尺度的优化调度,能够显著提升能源利用效率、降低运行成本,并有效缓解电网峰谷差问题。我在参与某工业园区微网项目时&#xff0c…

2026/8/3 4:19:55 阅读更多 →
AI工具助力论文写作:8款实用工具全流程指南

AI工具助力论文写作:8款实用工具全流程指南

1. 论文写作痛点与AI工具的价值作为一名带过上百篇毕业论文的指导老师,我深知专科生在论文写作过程中面临的困境。时间紧、任务重、文献检索能力弱、写作规范不熟悉,这些因素常常让学生陷入焦虑。去年指导的一个学生,开题报告改了7遍还是不合…

2026/8/3 4:19:55 阅读更多 →
CleanRL终极指南:5分钟掌握单文件强化学习框架

CleanRL终极指南:5分钟掌握单文件强化学习框架

CleanRL终极指南:5分钟掌握单文件强化学习框架 【免费下载链接】cleanrl High-quality single file implementation of Deep Reinforcement Learning algorithms with research-friendly features (PPO, DQN, C51, DDPG, TD3, SAC, PPG) 项目地址: https://gitcod…

2026/8/3 4:19:55 阅读更多 →
空气eDNA监测技术:生物多样性调查新方法

空气eDNA监测技术:生物多样性调查新方法

1. 项目背景与核心价值空气环境DNA(eDNA)监测技术正在成为生态调查领域的新范式。传统生物多样性监测往往依赖人工实地考察,不仅耗时耗力,而且对调查人员的专业素养要求极高。而这项由Yao Meng团队开发的被动式空气eDNA采样器&…

2026/8/3 4:19:55 阅读更多 →
构建企业级AI热点预警系统(含开源工具链+告警阈值黄金公式)

构建企业级AI热点预警系统(含开源工具链+告警阈值黄金公式)

更多请点击: https://intelliparadigm.com 第一章:构建企业级AI热点预警系统(含开源工具链告警阈值黄金公式) 企业级AI热点预警系统需兼顾实时性、可解释性与工程鲁棒性。核心架构采用“数据采集→语义增强→动态阈值判定→多通…

2026/8/3 4:18:55 阅读更多 →

日新闻

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。…

2026/8/3 0:00:47 阅读更多 →
[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

PC服务器具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构一、前言:具身智能需要“混合算力闭环系统”传统人工智能依赖云端静态数据集训练,不具备物理交互能力,无法适应真实世界的不确定性。具身智能(Embodied…

2026/8/3 0:00:47 阅读更多 →
[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

前言构建机器人、具身智能这类分布式实时系统,通信底座直接决定整套系统的实时性、容错性、组网能力。分布式领域长期存在 4 类经典通信架构:点对点模式、Broker 中间代理模式、广播模式、以数据为中心(DDS)模式。很多开发者疑惑&…

2026/8/3 0:00:47 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/2 6:34:16 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/2 2:47:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/2 0:23:22 阅读更多 →