0

AJAX を使用して、ファイルまたはデータベースが変更されたとき (別のユーザーによって追加の投稿が追加されたとき) を読み取り、最新の投稿 (SO のようなもの) を表示しようとしています。

それは機能しましたが、問題は、私が使用しているホストが一定量の「1 時間あたりのリソース使用量」しか許可しておらず、制限に達すると、サイトが 1 時間ロックアウトされることです。これは、主にテストと学習に使用している無料のホストです。

そのため、以前は、システムで作成された最後の投稿をエコーし​​ているファイルから、AJAX を 2 ~ 4 秒ごとにチェックする setInterval に設定していました。私が推測しているのは、サイトを数分で 1 時間シャットダウンした理由です。

したがって、結果が最後に見つかったものから変更された場合にのみ、最新の投稿のみを取得するようにする方法があるかどうか疑問に思っています。何を送り返すかに関係なく、毎回チェックしてPHPをアクティブ化する必要があるため、それはできないようです。

どうすればこれを行うことができるか、または同様のことを行う方法はありますか?

4

1 に答える 1

1

http://en.wikipedia.org/wiki/WebSocketを使用するか(ただし、インストールする必要のあるApache拡張機能があるため、ホストにはないようです)、またはhttp://en.wikipedia.org/wikiを使用できます。 / Push_technology#Long_polling

長いポーリングでは、PHPに1つのリクエストを送信すると、新しい投稿が見つかるまでPHPスクリプトがループしてから、応答を送信します。

ただし、リアルタイムWebアプリケーションにはmoeリソースが必要なため、ホスティング業者の変更を検討する必要があります。マシンでローカルにテストして学習してみませんか?

于 2012-05-28T11:13:50.377 に答える