2017-01-26 17 views
2

mqttと蚊帳ブローカーを使用して、アンドロイドプラットフォームの簡単なインスタントチャットを作成しています。今、私は、他のクライアントがオンラインかどうかをクライアントが確認できる条件を実装したかったのです。Mqttクライアントがオンラインかオフラインかを確認してください

私は約Last will and testamentを知っていますが、オフラインでしかユーザーが検出されないようにするには、アプリケーションが非アクティブであるか、ユーザーが現在アプリケーションを使用していないことが必要です。

私は実際にはコードを必要としません。これを実装する方法を知りたいと思っており、とても感謝しています。

+0

アプリが閉じているときは、(実際には、あなたがLWTがするので、とにかくこれをしなければならない手動LWTトピックを設定することができますネットワークの問題/クラッシュのためにクライアントがオフラインになった場合のみ起動します) – hardillb

答えて

2

MQTTの内部構造に頼ることなく、これを行うことができます。この方法では、何が起こっているのかをはるかにコントロールできます。

クライアントは定期的に他のトピック内でメッセージを送信し、サーバーにその可用性を通知できます。指定された時間が経過してもサーバーがそのメッセージを受信しない場合、サーバーはオフラインであると見なすことができます。

クライアントはログアウトしてサーバーに通知する場合、別のメッセージを送信することもできます。

あなたがMQTT内部構造を使用して主張する場合、あなたはこの質問が役立つことがあります。 How to Find Connected MQTT Client Details

関連する問題