所以我有 2 个浏览器正在运行,它们都具有相同的页面。在此页面中,您可以使用帐户登录服务器。
连接是用 Strophe 建立的。一切都是 HTML 和 javascript。
现在我已经设法建立了一个聊天(在两个浏览器之间,每个浏览器都使用不同的用户登录)。这是完美的工作。
我现在想要实现的是从另一个用户向一个用户发送一个 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);
});
使用 handlePong 作为:
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 向 client2 发送 IQ 时,结果如下:
客户1:
Received iq from client2@domain with id pingPong and type result
客户2:
现在有没有办法在 client2 的状态中显示他收到了初始请求?