XMPP サーバーがメッセージをクライアントに配信したかどうか、またはクライアントがオフラインであったかどうかを判断する最善の方法は何ですか?
サーバーがメッセージを配信できたかどうかを知る必要があり、そうでない場合は別のルートを試す必要があります。XMPP サーバーが後で配信するためにメッセージを保存できることはわかっていますが、一定期間内にメッセージを配信できなかったかどうかを知りたいと考えています。
XMPP サーバーがメッセージをクライアントに配信したかどうか、またはクライアントがオフラインであったかどうかを判断する最善の方法は何ですか?
サーバーがメッセージを配信できたかどうかを知る必要があり、そうでない場合は別のルートを試す必要があります。XMPP サーバーが後で配信するためにメッセージを保存できることはわかっていますが、一定期間内にメッセージを配信できなかったかどうかを知りたいと考えています。
まさにこれのための XMPP 拡張機能XEP-0079: Advanced Message Processingがありますが、ほとんどの人の目的にはやり過ぎであるため、実際に採用されることはありませんでした。これにより、一般的な XMPP ネットワークでの有用性が制限されます。
ただし、独自のサーバーを実行している場合、または AMP をサポートしていることがわかっているサーバーとのみ通信している場合は、AMP を実装するプラグインが利用できる場合があります。Tigase は、Tigase をサポートしていると確信しているサーバーの 1 つです。
あなたの目的のために、'expire-at' 条件と、'notify'/'error'/'drop' アクションのいずれかに興味があるでしょう。メッセージに複数の要素を追加<rule/>
して、複数のアクションを実行できます。