2017-03-08 7 views
0

重複メッセージがブリッジに送信されないようにすることはできますか? クライアントから重複フラグを設定しましたが、ブローカは引き続きdup = 0の新しいメッセージを送信します。ブリッジに重複メッセージを送信

最初にPUBACKがクライアントによって受信されなかったため、メッセージm870が2回送信されます真ん中)。クライアントは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

+0

複数の場所にクロスではないポスト物事を行う、それはまた、gitの問題があり、欠陥(コードと実際の問題)ではない一般的な質問のために、通常です – hardillb

+0

応答を断片化してください。これらの質問に、より適切なMosquitto開発者のメーリングリスト。 – hardillb

+0

@hardillb、返信ありがとうございます。 OK、分かりました、申し訳ありません。私はすでにメーリングリストを購読していますが、返信はありません。メーリングリストは機能していないと思いますか?あなたは最近メーリングリストからメールを受け取っていますか? – Asoul

答えて

0

に投稿された私は、あなたがミスDUPフラグを理解することだと思います。

このフラグは、送信された元のバージョンメッセージの到着を確認しなかったブローカにQOS 1/2メッセージを再配信するときにクライアントによって設定されます。

クライアントに同じことを行う場合は、ブローカーによっても設定されます。

これらのトランザクションはそれぞれ独立しています。メッセージを送信するために公開クライアントで設定すると、何も達成されません。ここ仕様で

詳細:http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html#_Toc385349261

+0

ありがとう@hardillbしかし、その状況は私のクライアントがサーバーからPUBACKを受け取っていないときに起こった(多分いくつかのインターネットは途中で壊れた)ので、PUBLISHをサーバーはdup = 1です。私はm870を2回送信しました。最初はdup = 0で、2回目はdup = 1です。 – Asoul

+0

詳細については、元のポストを更新しました。 – Asoul

関連する問題