我正在使用韵律 XMPP 服务器并尝试“使用 JavaScript 和 jQuery 进行专业 XMPP 编程”中的第 3 章示例。它基本上是 ping - pong 的例子,它工作正常。问题是当我尝试修改此示例以在 cookie 中存储 jid、sid 和 rid 以使用此数据在页面重新加载时调用 strophie attach() 而不是 connect()。如果我一个接一个地执行两个或多个 ping,我的示例效果很好,如果我只执行一个服务器不返回任何内容。这是我的代码:
整个 Javascript 代码在这里
问题是当我收到两个 ping 并且 pong 处理程序被触发两次时,我$(document).trigger('connected');
在on_connect
函数中执行了两次。status === Strophe.Status.ATTACHED
当我只触发一次 ping 时,不会调用 pong 处理程序。
提前致谢。