资讯动态

智能家居与物联网入门:MQTT消息收到两次怎么办?别把QoS当成业务只执行一次

发布时间:2026/9/10 23:46:41 来源:尧图企业网站定制
智能家居与物联网入门:MQTT消息收到两次怎么办?别把QoS当成业务只执行一次[!NOTE]网络重连和确认丢失可能带来重复消息,真正危险的是把重复投递变成重复业务动作。本文区分MQTT的QoS保证与应用处理边界,用request_id、规范化内容哈希和SQLite事务实现一个虚拟指示灯状态处理器。你会验证重复请求、标识冲突和重启后的去重,并理解为什么数据库里的原子更新仍不能自动保证真实家电动作恰好执行一次。学习位置:第三阶段「网络与消息可靠传输」· 第026课。上一课定义主题和回执;本课处理重复;下一课理解retained与LWT的当前状态语义。一、问题背景与技术选型确认丢失之后,重试并不是错误发送端没有收到确认时,可能不知道对端是否已经处理。不重试可能丢失动作,重试又可能重复。这种不确定性不能仅靠“网络通常很稳定”解决。接收端应该能识别同一个业务请求。QoS协议层含义应用仍需处理0至多一次交付,不做该级别确认消息可能丢失1至少一次交付,可能重复去重

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价