我正在使用韵律XMPP服务器并尝试使用“使用JavaScript和jQuery进行专业XMPP编程”的第3章示例。它基本上是乒乓球的例子,它工作正常。问题是当我尝试修改此示例以存储jid,sid和rid内部cookie以使用此数据在页面重新加载时调用strophie attach()而不是connect()。如果我一个接一个地做两个或更多ping,我的例子很有效,如果我只做一个服务器不返回任何东西。这是我的代码:
整个Javascript代码为here
问题是我在$(document).trigger('connected');
函数on_connect
执行status === Strophe.Status.ATTACHED
两次{{1}}我发送了两个ping并且pong处理程序被trigerred两次。当我只触发ping一次时,pong处理程序不会被调用。
提前致谢。
答案 0 :(得分:2)
当你attach()
时,你的摆脱号码必须加一
在您的代码中进行此更改:
Hello.connection.attach(data.jid, data.sid, parsInt(data.rid,10)+1, Hello.on_connect);