1

私は最近、Candy(http://candy-chat.github.com/candy/)の背後でStrophe.js(http://strophe.im/strophejs/)を使用するWebアプリケーションに取り組んでいました。クライアントは、メッセージの送信速度が速すぎると、無効なridの問題が原因で、ejabberdから404を取得します。同じエラーがランダムな時間にも発生します。

いくつかの調査の結果、これは無効なridの問題が原因であることがわかりました。これは、理想的にはクライアント側のjsがサーバーの応答を待ってから、新しいスタンザをプッシュする必要があるためです。

私の見解では、これはアプリケーションプログラマーではなく、低レベルのStrophe.jsによって保証される必要があります。この問題を解決するにはどうすればよいですか?Googleでこの問題の解決策を見つけることができませんでした。

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 に答える