1

我正在使用 Strophe.js 在网站中实现 Openfire 聊天客户端。我设法获得多个会话和多个窗口重新加载页面并重新连接。现在我在恢复聊天记录方面遇到了挑战。但是当用户打开我们网站的两个选项卡时,我遇到的第一个问题会创建两个具有不同资源 ID 的 xmpp 会话,但现在说 a@example.com/tab1 向朋友发送了一条消息,这应该在 tab2 中同步

例如,如果您从 gtalk 发送聊天消息,用户发送的消息将被更新并显示在 gmail 聊天窗口中。

任何人都有任何想法。非常感谢您的时间和帮助。

4

2 回答 2

1

多个资源的路由逻辑取决于服务器实现。GTalk 服务器将发送到裸 Jid的消息路由到所有连接的资源。许多其他服务器(也包括 Openfire)将消息发送到裸 Jids 到最可用的资源,这是具有最高优先级的资源。

如果您的每个选项卡都有自己的资源,那么我建议将消息​​发送到每个资源(完整的 jid)手册。您可以在状态下获得订阅联系人的所有连接资源。

于 2013-01-17T22:20:39.987 回答
0

就在这里。看看 XEP-0280:消息碳(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 回答