2016-04-26 10 views
0

を保持するための設定がMosquittoですが、私は時々、さまざまなクライアントに重複したメッセージのトピックを送信することが、単一の出版社を持っています。クライアントは常にオンラインではないデバイスなので、ブローカに接続するときは、保持されているすべてのメッセージを取得できる必要があります。私たちが観察していることは、クライアントが接続されているときにすべてのメッセージが流れることですが、接続が解除されてから再接続すると、メッセージの重複の最新のものだけが到着することです。がMosquittoブローカーを使用して重複メッセージ

私たちの設定は、QoS 1であり、= trueを保持します。 conf設定はallow_duplicate_messagesを持たないので、デフォルトはtrueです。

は、我々はすべてのメッセージを保持することを可能にするためにできることは何もあり。

答えて

1

永続セッションで保持されているメッセージを混乱させています。クライアントが正常に再接続したとき

のみ保持ビットセットで発行され、最後のメッセージが配信されます。

あなたは、クライアントがオフラインである間、送信されたすべてのメッセージ(関係なく、設定されている保持ビットの)を取得したい場合は、あなたが永続セッションを使用する必要があります。

永続セッションの詳細な説明はhere見つけることができますが、次のように短いバージョンは次のとおりです。

あなたがfalseに設定されclean_session接続オプションを使用すると、接続の両方の時間(初期接続と再接続)を接続する必要があります

+1

また、再接続するときに同じクライアントIDを使用する必要があります。 – ralight

関連する問題