2012-03-03 13 views
3

私は、2つ以上の別々のクライアントが、ほぼ同時に(2秒以内に)プロセスを呼び出すすべてのクライアントによってリアルタイムにサーバー転送を介して特定の情報を交換するアプリケーションを開発しています。JQuery PHP mySQL ajaxメソッドは、2つのクライアントにデータを同期させますか?

各クライアントのフロー:投稿するデータを含むJquery Ajaxリクエスト> Apache/PHPは投稿データを追加し、すべてのクライアントの合計レコードセットに対応する2つ以上の結果が見つかるまでデータベースクエリをループします>リクエスト元のJSONに戻す

私はこのフローと、クエリデータセット全体が利用可能になるまで消費してループするPHP/mySQLサーバー側のスクリプトを生成するajaxリクエストを構築する方法を失いました。私が検討している

オプションがあり、これらに限定されない:

1)ロングポーリング - 私はそれが資源の面で高価だとApache/PHP 2)JS/jQueryのクライアント側ではお勧めできません読んで応答が良いまでループを再試行してください - しかし、繰り返しの接続のためにサーバーリソースが枯渇するようです。

私は、このプロセスをはるかに超えるサーバー環境を要求する非常に大きなユーザーベースを持つことが予想されます。何が最も効率的な方法を使用すると、何が起こるだろう基本的な対応するjQuery/PHPになるだろうか?

答えて

3

はいポーリングにリソースが多すぎます。 Webソケットを使用するか、Webソケットを使用して構築されたライブラリを使用することをお勧めします。 pusherは1です。

であり、オープンソースでは、 juggernautおよびfayeがある。 これらはリアルタイムデータをクライアントにプッシュするためのライブラリです(お客様の要件に応じて)

関連する問題