私は XMPP クライアントを作成しています。クライアントに 1000 件のメッセージを送信し、サーバーは 1000 件のメッセージを正常に送信しますが、クライアントは 300 件しか受信しないため、受信メッセージ用のタイマーまたはメモリ キャッシュが必要です。
考えられる解決策: ...これらの制限を克服する
HTTP には、XMPP を「修正」するためのソリューションがあります。
最初の 2 つの制限は、WebDAV サーバーを実行することで修正できます。WebDAV サーバーにアップロードし、リンクを共有します。これは、XMPP クライアントのサポートがなくても誰でもできるソリューションです。もちろん、署名付き URL (S3 風) を使用して、クライアントとサーバーのサポートを透過的に行う方法があれば、プロセスは大幅に改善されます。
接続されたソケットの問題には、BOSH があります。これは基本的に、XMPP over HTTP を実行しています。サーバーが「接続」を数分間保持するという追加のボーナスにより、iPhoneの問題が修正されます. 2 分以内にクライアントを再起動すると、保留中のメッセージがすべて配信されます。