Facebookのようなライブ通知システムを実装して、自分の投稿への投稿への返信など、誰かが友達として追加したときに通知するようにしています。
すべてのデータベースとPHPの部分は実行されていますが、Facebookのようにそれを実装する方法がわかりません。
Facebookであなたの投稿に「いいね」/コメントが投稿されると、画面の左下に水色のボックスが表示されます。これは、誰かがボタンを押すか、Facebookにコメントを投稿するとすぐに発生します。これを実装するために何をすべきか知りたいのですが。
YUIまたは任意のJavaScriptフレームワークを使用して、n
秒後にデータベーステーブルにクエリを送信し、通知を確認できます。この方法は重すぎます。
データベーステーブルに新しい通知エントリがあるときはいつでも、サーバーがその特定のクライアントに通知するように、サーバー側のmodまたはスクリプトを実行できるかどうか疑問に思っていました。これにより、クライアントからサーバーへの不要なリクエスト呼び出しが完全に回避され、一度に50,000人を超えるユーザーがオンラインでアクセスするWebサイトでシステムが効率的に機能します。
どうすればこれを達成できますか?
[永久にフレーム ( チュートリアル )やロングポーリングなどの [〜#〜] comet [〜#〜] テクニックを検討する必要があります。これにより、サーバーからクライアントへのプッシュ通信の形式を使用できます。
基本的に、サーバー/データベースにそのユーザーの通知を要求するサービスを呼び出すなど、要求を設定します。通知がない場合は再試行するwhileループを実行できます(多分Thread.Sleep
検索の合間に)。あなたのjsリクエストはタイムアウトします、そしてあなたはタイムアウトで再び関数を呼び出すことができます。これは長い投票のafaikを意味します