1

私は XMPP クライアントを作成しています。クライアントに 1000 件のメッセージを送信し、サーバーは 1000 件のメッセージを正常に送信しますが、クライアントは 300 件しか受信しないため、受信メッセージ用のタイマーまたはメモリ キャッシュが必要です。

考えられる解決策: ...これらの制限を克服する

HTTP には、XMPP を「修正」するためのソリューションがあります。

最初の 2 つの制限は、WebDAV サーバーを実行することで修正できます。WebDAV サーバーにアップロードし、リンクを共有します。これは、XMPP クライアントのサポートがなくても誰でもできるソリューションです。もちろん、署名付き URL (S3 風) を使用して、クライアントとサーバーのサポートを透過的に行う方法があれば、プロセスは大幅に改善されます。

接続されたソケットの問題には、BOSH があります。これは基本的に、XMPP over HTTP を実行しています。サーバーが「接続」を数分間保持するという追加のボーナスにより、iPhoneの問題が修正されます. 2 分以内にクライアントを再起動すると、保留中のメッセージがすべて配信されます。

4

1 に答える 1

-1

受信者が 300 件のメッセージしか受信していないということは、それらがオフライン メッセージである可能性があることを意味します。この場合、管理パネルでユーザーごとのオフライン メッセージ ストレージの制限を増やす必要があります。

オフライン メッセージに依存するのではなく、メッセージのアーカイブと取得を行うことをお勧めします。

これがお役に立てば幸いです:)

于 2014-03-14T14:37:23.373 に答える