Сохранение XMPP-соединения - PullRequest
       6

Сохранение XMPP-соединения

0 голосов
/ 24 сентября 2010

У меня есть расширение GChome, которое слушает XMPP-сервер.Я использую Strophe для подключения BOSH.Вопрос в том, "как я должен обрабатывать соединение?"из ядра вики XMPP я обнаружил, что последний подключенный / приоритетный клиент получает сообщения.И когда пользователь входит в систему из другого места, расширение перестает получать сообщение.Как я могу справиться с этим отсутствием соединения.Надеюсь вопрос не очень двусмысленный =).

1 Ответ

0 голосов
/ 03 октября 2010

Убедитесь, что вы используете разные ресурсы для каждого соединения.Самый простой способ сделать это - заставить сервер сгенерировать имя ресурса, как указано в RFC 3920bis, раздел 7.5 , с помощью отправки клиентом:

<iq id='tn281v37' type='set'>
  <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/>
</iq>

и отслеживаниясервер отвечает полным сгенерированным идентификатором Jabber:

<iq id='tn281v37' type='result'>
  <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
    <jid>
      juliet@im.example.com/4db06f06-1ea4-11dc-aca3-000bcd821bfb
    </jid>
  </bind>
</iq>

Имейте в виду, что сервер может использовать максимальное количество ресурсов, поэтому вы можете получить ошибку:

<iq id='wy2xa82b4' type='error'>
  <error type='wait'>
    <resource-constraint
        xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
  </error>
</iq>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...