XMPP: получение идентификатора сеанса BOSH и RID

Подскажите, пожалуйста, как получить SID и JID. Я использую Strofe JS.

<body rid='489923353' xmlns='http://jabber.org/protocol/httpbind' sid='ab7f5957' to='127.0.0.1' xml:lang='en' xmpp:restart='true' xmlns:xmpp='urn:xmpp:xbosh'/>

var conn = new Strophe.Connection(bosh_service); 

Однако conn.sid или conn.rid возвращают разные числа.


person leeshin    schedule 26.08.2013    source источник


Ответы (2)


После этого и того, я думаю, что нашел ответ!

else if(status === Strophe.Status.CONNECTED){

        //get roster
        var iq = $iq({type: 'get'}).c('query', {xmlns: 'jabber:iq:roster'});
        Chat.connection.sendIQ(iq, Chat.on_roster);  
        //on chat
        Chat.connection.addHandler(Chat.on_message,null, "message", "chat");

        $("#presence").html("Connection SID" + Chat.connection.sid + "Connection RID" +  Chat.connection.rid);
    }
person freeloader    schedule 27.08.2013
comment
используя приведенный выше код, я получаю неопределенные значения для connection.sid и connection.rid - person Hunt; 02.03.2014

  1. Для SID используйте Chat.connection._proto.sid вместо Chat.connection.sid.
  2. Для RID используйте Chat.connection._proto.rid вместо Chat.connection.rid.
  3. Для JID используйте Chat.connection.jid .

Здесь SID и RID — это свойства объекта BOSH, а JID — это свойство объекта Strophie. У меня работает нормально. Я надеюсь, что это сработает и для вас.

person Dinesh Patra    schedule 02.04.2015