現在のプロジェクトで必要なため、AJAX を学習中です。新しい行が MYSQL テーブルに追加されたときにライブで更新したいフィードがあります。私は実際にnode.jsでこれを行いましたが、残念ながらクライアントサーバーはNODEを使用できないため、AJAXで可能かどうかを確認しようとしています.
ご協力ありがとうございました!
現在のプロジェクトで必要なため、AJAX を学習中です。新しい行が MYSQL テーブルに追加されたときにライブで更新したいフィードがあります。私は実際にnode.jsでこれを行いましたが、残念ながらクライアントサーバーはNODEを使用できないため、AJAXで可能かどうかを確認しようとしています.
ご協力ありがとうございました!
クライアントがpollingを介して常にサーバーに接続するか、 cometやwebsocketsなどのプッシュ手法を使用する必要があります。そうしないと、クライアントは新しいデータがいつ到着したかを知る方法がありません。
Comet と Websockets は、ユーザー クライアント (接続されたブラウザー) にデータが利用可能になるとすぐに実際にデータを送信するため、プロセスに最もリアルタイムの感覚を与えることができます。
欠点は、プッシュ テクニックと、 HTTP キープ アライブを必要とするコメットが、特に apache などのプロセス ベースのサーバーの場合、サーバーに非常に負担がかかることです。最大接続数はすぐにいっぱいになり、切断されるまで保持されます。チューニング オプションと最新の設定がありますが、最適ではありません。問題の正式名称はc10kであり、最近イベント ベースのサーバーが人気を博している理由の 1 つです。
ページが更新されたときに MYSQL または PHP が更新をページにプッシュできる場所を知る方法はありません。
おそらく最良のオプションは、javascript でタイマーを実行し、データベースを定期的にチェックして、更新があるかどうかを確認することです。
var refreshId = setInterval(function() { checkforUpdates(lastIndex) }, 10000);
テーブル インデックスの最後の行を JavaScript 関数に渡すと、関数は PHP に ajax 呼び出しを行い、新しい行をデータベースに照会します。更新が返された場合は、JavaScript を使用してそれらをテーブルに追加します。
更新された行も確認する場合は、少し複雑になります。