我正在使用Strophe.js在网站上实现一个Openfire聊天客户端。我设法获得多个会话和多个窗口重新加载页面并重新连接回来。现在我在恢复聊天记录方面遇到了挑战。 但是,当用户打开我们站点的两个选项卡时,我遇到的第一个问题是它创建了两个具有不同资源ID的xmpp会话但是现在说 a@example.com/tab1向朋友发送了一条消息,这应该在tab2中同步
如果您发送来自gtalk用户发送消息的聊天消息的示例将更新并在gmail聊天窗口中显示。
任何人都有任何想法。 非常感谢您的时间和帮助。
答案 0 :(得分:1)
多个资源的路由逻辑取决于服务器实现。 GTalk服务器将发送到裸Jids 的消息路由到所有连接的资源。许多其他服务器(也是Openfire)向裸Jids发送消息到最可用资源,这是具有最高优先级的资源。
如果每个标签都有自己的资源,那么我建议将消息发送到每个资源(完整的jid )手册。您可以通过在线状态获得订阅联系人的所有连接资源。
答案 1 :(得分:0)
是的,有。看一下XEP-0280:Message Carbons(http://xmpp.org/extensions/xep-0280.html)
您的客户端和服务器都必须支持它才能完全正常工作。