1

我最近正在开发一个在 Candy (http://candy-chat.github.com/candy/) 后面使用 Strophe.js (http://strophe.im/strophejs/) 的 Web 应用程序。当客户端发送消息过快时,由于无效的摆脱问题,客户端从 ejabberd 获得 404。同样的错误也会随机发生。

经过一些研究,我发现这是由于无效摆脱问题造成的,并且正在发生这种情况,因为理想情况下,客户端 js 应该在推送新节之前等待服务器响应,而在某些情况下则不会。

从我的角度来看,这应该由 Strophe.js 在低级别而不是应用程序程序员来确保。请告诉我我应该如何着手解决这个问题?我在谷歌上找不到这个问题的解决方案。

4

1 回答 1

0

一定是 Ejabberd 版本的问题。现在在 2.1.12 中修复了一个已知问题 https://www.process-one.net/en/ejabberd/release_notes/release_note_ejabberd_2.1.12/

问题是 ejabberd 以错误的顺序接收消息 ID (RID),然后以 404 关闭连接。现在此行为已被删除(只有在收到相同 RID 时才会发生,以避免重播)

希望这可以帮助!

哈维尔·D·卡鲁索

于 2013-06-03T21:58:57.837 回答