【发布时间】:2017-03-08 13:01:32
【问题描述】:
我可以防止向网桥发送重复消息吗? 我已经从客户端设置了重复标志,但代理仍然发送 dup = 0 的新消息。
消息 m870 被发送了两次,因为第一次 PUBACK 没有被客户端收到(可能是中间网络中断了)。客户端重新发送了 dup = 1 的 m870,但服务器仍然将消息发送到 dup = 0 的代理。(这使得其他代理连接到网桥认为该消息是新的,并发布给所有订阅的客户端)。
1488965834: Received PUBLISH from client (d0, q1, r0, m870, 'test/topic', ... (10 bytes))
1488965834: Sending PUBACK to client (Mid: 870)
1488965834: Sending PUBLISH to bridge (d0, q1, r0, m58118, 'B/test/topic', ... (10 bytes))
1488965834: Received PUBACK from bridge (Mid: 58118)
1488965838: Received PUBLISH from client (d1, q1, r0, m870, 'test/topic', ... (10 bytes))
1488965838: Sending PUBACK to client (Mid: 870)
1488965838: Sending PUBLISH to bridge (d0, q1, r0, m58121, 'B/test/topic', ... (10 bytes))
1488965838: Received PUBACK from bridge (Mid: 58121)
这个问题也发到mosquitto/issues/398
【问题讨论】:
-
请不要将内容交叉发布到多个地方,它会分散响应
-
另外 git 问题通常是针对缺陷(代码的实际问题)而不是一般问题,有一个 Mosquitto 开发人员邮件列表更适合这些问题。
-
@hardillb,感谢您的回复。好的,我明白了,对此感到抱歉。我已经订阅了邮件列表但没有收到回复,我猜邮件列表不起作用?您最近收到邮件列表中的邮件了吗?
-
因为这个,我不知道在哪里发布我的问题,所以我发布到stackoverflow,昨天我发现那里有github问题,也在那里发布。我不知道在哪里可以接触到开发这个的人:(