我最近正在开发一个使用Strophe.js(http://strophe.im/strophejs/)背后的Web应用程序(http://candy-chat.github.com/candy/)。当客户端发送消息太快时,客户端会因为无效的问题而从ejabberd获取404。同样的错误也会在随机时间发生。
经过一些研究后我发现这是由于无效的摆脱问题而且它正在发生,因为理想情况下,客户端js应该在推送新节之前等待服务器响应,而在某些情况下则不然。
从我的角度来看,这应该由Strophe.js在低级别而不是应用程序员来确保。请告诉我应该如何解决这个问题? 我无法在Google上找到解决此问题的方法。
答案 0 :(得分:0)
必须是Ejabberd版本的问题。 2.1.12中是否已确定已知问题 https://www.process-one.net/en/ejabberd/release_notes/release_note_ejabberd_2.1.12/
问题是ejabberd以错误的顺序接收消息ID(RID),然后用404关闭连接。现在这个行为已被删除(只有在收到SAME RID时才会发生,以避免重放)
希望这有帮助!
Javier D. Caruso