【发布时间】:2016-02-17 15:37:55
【问题描述】:
我是 ejabberd 和 Strophe 的新手。我正在使用 strophe 客户端和 ejabberd xmpp 服务器开发网络聊天应用程序。
后端的连接预绑定:
XMPPPrebind xmppPrebind = new XMPPPrebind(boshHost, xmppDomain,
boshUri, resource, boshPort, useSsl, debug);
xmppPrebind.connect(username, password);
xmppPrebind.auth();
SessionInfo sessionInfo = xmppPrebind.getSessionInfo();
Attach connection in strophe on UI:
connection = new Strophe.Connection(BOSH_SERVICE);
connection.attach(userjid + '@' + domain, sid, rid, onConnect);
connection.addHandler(onMessage, null, 'message', null, null, null);
......
在页面加载时,我从后端建立新的 ejabberd 连接并获取 sid 和 rid。使用 sid 附加连接并在 UI 上的 strophe 中摆脱。它工作正常,没有问题。
但是当用户在浏览器中为同一用户打开新标签时,它会导致新的 ejabberd 与新 sid 和 rid 连接,然后旧标签断开连接。
如何在两个选项卡或多个选项卡中保持活动连接,以便用户可以在所有选项卡中发送/接收消息?
我在谷歌上搜索,但没有找到在网络聊天中启用此功能的步骤。 也试着了解一下:http://xmpp.org/extensions/xep-0280.html
我在这里被阻止了,请帮助。 谢谢
【问题讨论】: