单MQTT主题重复接收相同消息问题排查求助
MQTT同一主题重复接收相同消息的可能原因
以下是导致该问题的常见原因:
桥接循环转发:你的桥接规则设置为
topic GlowFY/# both 0,both参数表示本地Broker会将GlowFY/#主题的消息转发到云端Broker,同时云端Broker的该主题消息也会同步回本地。如果云端Broker也配置了指向本地的桥接,或者消息在转发过程中因确认机制异常被重复推送,就会形成循环,导致订阅端多次收到同一条消息。客户端重复订阅:排查Paho MQTT客户端和安卓应用的订阅逻辑,是否存在多次调用订阅接口的情况(比如重连时未取消旧订阅就重新订阅)。同一客户端若存在多个相同主题的订阅关系,每条消息都会被推送多次。
QoS级别与消息重发机制:即使发布时使用QoS 0,若桥接过程中两端Broker对QoS的处理不一致(比如云端Broker自动提升QoS级别),或者客户端未正确回复消息确认包(PUBACK/PUBCOMP),Broker会触发重发逻辑,导致消息重复。
桥接连接不稳定:本地与云端Broker的桥接连接频繁断开重连时,Broker可能会重新发送缓存的未确认消息,进而导致订阅端收到重复内容。
Clean Session配置问题:如果客户端设置了
clean session = false,重连后Broker会推送离线期间缓存的消息。若之前的消息未被客户端正确确认,重连后会再次收到这些消息。
内容的提问来源于stack exchange,提问作者Sethu Madhav
相关产品推荐
相关产品推荐

