1

Strophe.js を使用して Web サイトに Openfire チャット クライアントを実装しています。複数のセッションと複数のウィンドウがページをリロードして再接続することができました。今、チャット履歴の復元に挑戦しています。しかし、ユーザーが私たちのサイトの 2 つのタブを開いたときに立ち往生した最初の問題は、異なるリソース ID を持つ 2 つの xmpp セッションを作成しますが、今では a@example.com/tab1 が友人にメ​​ッセージを送信したとします。これは tab2 で同期する必要があります。

たとえば、gtalk ユーザーからチャット メッセージを送信すると、ユーザーが送信したメッセージが更新され、Gmail チャット ウィンドウに表示されます。

誰もが任意のアイデアを持っています。時間と助けをありがとうございました。

4

2 に答える 2

1

複数のリソースのルーティングロジックは、サーバーの実装次第です。GTalkサーバーは、ベアJidに送信されたメッセージを接続されているすべてのリソースにルーティングします。他の多くのサーバー(Openfireも)は、最も優先度の高いリソースである最も利用可能なリソースにベアJidにメッセージを送信します。

各タブに独自のリソースがある場合は、各リソース(完全なjid)のマニュアルにメッセージを送信することをお勧めします。プレゼンスを使用して、サブスクライブした連絡先のすべての接続リソースを取得します。

于 2013-01-17T22:20:39.987 に答える
0

はいあります。XEP-0280: Message Carbons ( http://xmpp.org/extensions/xep-0280.html )をご覧ください。

完全に機能するには、クライアントとサーバーの両方がそれをサポートする必要があります。

ソース: https://superuser.com/questions/866785/is-there-a-way-to-sync-xmpp-messages-across-different-devices-with-standard-xmp

于 2015-05-05T13:56:35.010 に答える