0

次のように動作する Adob​​e AIR アプリを作成しました。

ユーザーがログインすると、setTimeout を使用して永久ループが作成されます。このループは HTTP リクエストを実行し、返された json md5 文字列をグローバル変数と比較します。これら 2 つの値が異なる場合、dom は新しいコンテンツで更新されます。ユーザーが返信の送信やメッセージの削除などの別のアクションを実行すると、サイレント更新が実行され、これによりループが「一時停止」します。基本的には、単純な電子メール クライアントのようなものです。

私がやっている方法は信頼性が低く、メモリリークを引き起こします。私はそれをゼロから書き直すつもりであり、私が今いるのと同じボートに行き着きたくありません. 誰かがそれを行う方法の例を教えてくれたり、アドバイスをくれたりしたら、大歓迎です. 前もって感謝します!

4

1 に答える 1

0

それほど頻繁にポーリングするべきではありませんが、「ロング ポーリング」または「COMET」と呼ばれる手法を使用してください。基本的には、更新されたデータなどによる応答があるか、タイムアウトになるまで開いたままになるリクエストを送信します。なんらかの応答を受け取った後、すぐに新しい要求を送信します。

これにより、送信されるリクエストの量が大幅に削減されるため、帯域幅とサーバーの負荷が大幅に節約されます。

于 2011-02-16T22:43:08.683 に答える