Итак, у меня запущены 2 браузера с обоими страницами. На этой странице вы можете войти на сервер с учетной записью.
Соединение построено со Strophe. И все это HTML и JavaScript.
Теперь мне уже удалось построить чат (между двумя браузерами, каждый из которых вошел в систему со своим пользователем). И это работает отлично.
То, чего я хочу достичь сейчас, - это отправить IQ одному пользователю от другого. Оба говорят в строке состояния, что они получают IQ (один как «получил запрос», другой как «получил результат»)
Теперь я создаю свой iq с помощью:
var iq = $iq({type: 'get', to: this.receiver}).c('query', {xmlns: 'http://jabber.org/protocol/pubsub#retrieve-subscriptions'});
XmppObject.xmpp.connection.sendIQ(iq);
Это установлено в функции, которая может быть вызвана нажатием кнопки.
Слушатель построен следующим образом:
$(XmppObject.xmpp).bind("iq", function(event, data){
addToStatus('Received an iq: \n');
handlePong(data.iq);
});
С ручкойПонг как:
function handlePong(msg)
{
var objMsg = $(msg);
var from = objMsg.attr('from');
var type = objMsg.attr('type');
var id = objMsg.attr('id');
var text = 'Received iq from ' + from + ' with id ' + id + ' and type ' + type + '\n\n';
addToStatus(text);
}
Теперь, когда client1 отправляет IQ на client2, это результат:
Client1:
Received iq from client2@domain with id pingPong and type result
Client2:
Теперь есть ли способ отобразить в статусе client2, что он получил первоначальный запрос?