誰かがライブ通知を行う正しい方法を教えてくれますか
たとえば、Mysql に追加された新しい行を知る
PHPファイルが変更されたかどうかを知る???
どうすればいいですか?
を使用してサーバーの更新を定期的にチェックするか、setInterval()
javascript でロングポーリングを使用することができます。の利点はsetInterval()
、サーバー上で長時間接続を開いたままにしないことですが、サーバー呼び出し間の「ダウンタイム」中に更新が行われる可能性があります。ロングポーリングは、新しい情報を受信するまで接続を開いたまま待機するため、ほぼ瞬時に更新されます。しかし、明らかに、欠点は、接続がいたるところで開いたままになっていることです。
setInterval(function(){
$.get("updates.php", {}, function(results){
if ($(results).length) {
$("results").each(function(){
// do something with update messages
});
}
});
}, 30000); // Every 30 seconds.
PHP と jQuery を使用したロング ポーリングの例は、http://blog.perplexedlabs.com/2009/05/04/php-jquery-ajax-javascript-long-polling/にあります。
データベース トリガーを使用して、特定のテーブルの変更を監視し、通知データを新しいテーブルに挿入できます。それで。Jquery と ajax を使用して定期的にその db テーブルにクエリを実行します。
ワークフロー:
users
の挿入、更新、および削除を監視するトリガーを作成するusers
示す新しいレコードを挿入します。notifications
notifications
新しいレコードのテーブルをチェックし、それらをユーザーに表示します。この単純なワークフローは、思ったほど簡単に実装できないかもしれませんが、効率的な方法で作業を完了できます。