Senderがトピックに関するメッセージを送信するシナリオがあります。しかし、これまで全く接続されていなかったクライアントがあり、同じトピックに接続して購読しています。新しく接続されたクライアントのために、以前にそのトピックに存在するすべてのメッセージをどのように受け取ることができますか。Mqtt Androidのメッセージ
私が使用しcleanSession = falseの場合、何も私は真の保持メッセージ=を使用
を起こりません。その後、最後のメッセージのみが受信されます。
Senderがトピックに関するメッセージを送信するシナリオがあります。しかし、これまで全く接続されていなかったクライアントがあり、同じトピックに接続して購読しています。新しく接続されたクライアントのために、以前にそのトピックに存在するすべてのメッセージをどのように受け取ることができますか。Mqtt Androidのメッセージ
私が使用しcleanSession = falseの場合、何も私は真の保持メッセージ=を使用
を起こりません。その後、最後のメッセージのみが受信されます。
短い答えはできません。
ブローカは、すでにセッションがあるクライアント(cleanSession = falseで少なくとも1回はログオンしている)のメッセージのみをキューに入れます。
保持されたメッセージは、そのトピックに最後に送信されたメッセージのみを保持します。
あなたは、あなたがデータベースに格納する必要があります説明し、いくつかの他のメカニズム(例えば、HTTP)
ブローカー店を経由して、それらを要求するようにあなたは、歴史的なメッセージをしたい場合は、最後の保持メッセージとそのための対応するQoSトピック。保持されているメッセージのトピックに一致するトピックパターンに加入している各クライアントは、購読した直後にメッセージを受信します。
トピックごとに、保持されているメッセージは1つだけブローカによって保存されます。保持されているすべてのメッセージを取得することはできません