Я новичок в ejabberd и Strophe. Я разрабатываю приложение для веб-чата, используя strophe-клиент и ejabberd xmpp-сервер.подключение ejabberd для нескольких ресурсов с использованием Strophe
Подключения prebind в бэкэнде:
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 и удаление в строфе в пользовательском интерфейсе. Он работает нормально, не проблема.
Но когда пользователь открывает новую вкладку в браузере для одного и того же пользователя, ее причиной является новое соединение ejabberd с новым sid и удаление, а затем старая вкладка отключается.
Как сохранить соединение на обеих вкладках или на нескольких вкладках, чтобы пользователь мог отправлять/получать сообщения на всех вкладках?
Я искал в Google, но не нашел шагов, чтобы включить эту функцию в веб-чате. Также попробуйте понять: http://xmpp.org/extensions/xep-0280.html
Я заблокирован здесь, пожалуйста, помогите. Спасибо
дубликат http://stackoverflow.com/questions/33451278/keep-rid-in-sync-with-multiple-tabs-for-strophe-js-connection –