リアルタイム Web ページの作り方
データ情報をファイルに入れて、PHP を使用してリアルタイム Web ページを作成します。ファイルが変更されると、現在の Web ページがすぐに更新されることを知りたいです。それを達成するための最良の方法は何ですか?以前のアイデアは、JS ポーリングを実行し、ファイルが変更されたことが判明した場合はリロードされるというものでした。これは良くないと思います。
-----解決策---------この要件は本物である必要があります。 「時間」には主に 2 つの場所があります:
1 ファイル更新の即時通知。
2 サーバーはクライアント (ブラウザ) に即座にデータを送信できます。
まず、ファイルの更新をリアルタイムに通知するということですが、この段階からループしてファイルの更新時刻をスキャンすることを考えているはずです。リアルタイムを実現したい場合は、システムのタイム ドライバーを使用する必要があります。たとえば、Linux 2.6 カーネルの inotify です。 C でプログラムを作成し、プロセスを実行します。この通知を受け取ったら、phpのソースコードを修正してください。
サーバー プッシュとは、実際には、クライアントとサーバー間の http 対話中に、サーバーがクライアントにデータを周期的に応答することを意味します。インターネットで言われていることのほとんどは非常に一般的なものですが、実際にはそれほど複雑ではないことがわかります。
1 Web サーバーのバッファを変更する必要があります。
2. Web サーバーを閉じると、gzip などのバッファー モジュールがアクティブに制御されます。
3. ブラウザのバッファ サイズを超える必要があります。たとえば、プログラムがデータを応答するたびにいくつかのスペースを埋めて、データがブラウザのバッファ サイズに達するようにします。たとえば、ie は 1024 バイトです。
Apache では実装するのは簡単ですが、nginx では時々奇妙になることがあります。私の友人によると、彼らは成功できなかったそうですが、私はローカルの nginx chrome では成功しました。
次に考えなければならないのは、これら 2 つの点をどのように組み合わせるかです。
------解決策---------ページとプログラムが同じサーバー上にない場合, サーバーAでスクリプトプログラムを実行して最新ページを生成し、シェルスクリプトを使用して最新ページをサーバーBに移動するプッシュ方式も採用可能です