0

データベースのデータが変更されたときに、現在アクティブな (ログに記録されている、またはコンテンツを表示している) すべてのユーザーに応答を送信したいと考えています。

一部のユーザーが「データ」テーブルを表示しています。

現在、私は 5 秒ごとに AJAX 呼び出しを実行しています。データ データベースの応答に変更がある場合、クライアントに通知されます。

しかし、私はもうこのようにしたくありません。

4

2 に答える 2

1

(あなたがしたように)ajaxポーリングの代替手段は、コメット/サーバー側のプッシュを使用することです。

つまり、クライアント ポーリングの代わりに、WebSocket、Ajax ロング ポーリング、Server-Sent Events などを使用してクライアントにメッセージを送信します。

この例では、WebSocket を使用します。ただし、以下で説明することは、他の方法にも当てはまります。

既存の PHP アプリケーションを既に持っている場合、これを行う最も簡単な方法は、おそらくソケットを処理する別の「デーモン」スクリプトを作成することです。アプリケーションが DB 内のデータを変更するたびに、デーモン スクリプトにメッセージを送信し、接続されているクライアントに変更を通知します。

メイン アプリとソケット デーモン間のメッセージングには、ZeroMQ のようなものを使用できます。

于 2012-05-10T13:10:15.920 に答える
0

ポーリングまたはWebSocketを使用できます。おそらく、Pusher.comがソリューションです。

于 2012-05-10T13:11:15.653 に答える