2

www.foursquare.comのインデックスページのようなリアルタイムダッシュボードを実装したいと思います

Chromeの開発者ツールでfoursquare.comのインデックスページを確認したところ、xhrを使用してこれらの情報を取得していないことに驚いていました。5秒ごと。

ajaxポーリングを使用すると、一部のブラウザーでメモリリークが発生し、サーバーがビジー状態になります。

PHPとjQuery(AJAX)を使用してリアルタイムダッシュボードを効率的に実装する方法はありますか?

(おそらく、プッシュサーバーのような追加のサーバーが必要ですか?):|

4

3 に答える 3

0

データをクライアントにプッシュする1つの方法は、次のようなループです。

  1. ブラウザでAJAXリクエストを開きます。
  2. サーバーは、リクエストがタイムアウトするか、新しいデータが利用可能になるまで、リクエストを開いたまま待機します。
  3. サーバーは新しいデータまたはタイムアウトのいずれかでリクエストを返し、クライアントはすぐに新しいリクエストを開きます。
于 2011-08-04T00:55:37.090 に答える
0

Foursquareのホームページには30個のアイテム(、、 ...)が読み込まid=recent29id=recent28ますが、一度に表示されるのは11個だけです。そのため、約90秒間リアルタイムで感じることができます(その後、同じアイテムが再び表示されます)。

...
$('#recent'+toShow).slideDown(1000, move(i));
$('#recent'+i).slideUp(1000, move(i));
...

一部の双方向クライアントサーバー通信については、WebSocketを確認してください。まだ普遍的にサポートされていませんが、最終的には標準になります。

WebSocket APIはW3Cによって標準化されており、WebSocketプロトコルはIETFによって標準化されています。

于 2011-08-04T00:56:06.060 に答える
0

あなたは彗星を使うことができます、APEはセットアップと設定が特に簡単です:

http://www.ape-project.org/

バックエンドはCで記述されているため、非常に高速です。

于 2011-08-04T01:03:43.747 に答える