php で数秒ごとにデータを読み取る方法
プロジェクトの主な機能は、登録された com
を使用して php 経由で com インターフェイスを呼び出し、リモートサーバーに接続し、データ
を読み取り、 Web ページ機能へのデータ。
$com->connect(server);
$com->read();
window.setInterval と ajax を介して php ファイルを呼び出すことで、一定時間ごとに読み取ることができるようになりました。
を例に挙げますが、この方法の使用には重大な問題があります。
を読み取る前にサーバーに接続する必要があります。一度だけ接続して、その後は読み取るだけの方法があるかどうかはわかりません。
シングルトン モードを使用しようとした以前の試みも機能しませんでした。
-----ソリューションのアイデア----------------------
各リクエストは終了します。現在の PHP 実行プロセスは自動的に解放されるため、PHP でできることは何もありません。
サーバーが nginx の場合、nginx を使用して http ロング接続を行うことができ、PHP は毎回ローカル nginx に接続します。この方法では、PHP サーバーのネットワーク接続は 1 つだけになります。現在のマシンに接続する場合。
------解決策のアイデア----------------------
これを解決する方法はありません。
実行のたびに接続が切断されます。ソケットを使用して接続している場合を除きます。
------解決策----------------------
フロントエンドは setInterval を使用しますが、これはできません。一度接続してから直接読み取ります
フロントエンド WebSocket と PHP ソケットに変更できます
-----解決策のアイデア--------- - ------------
まだ私の言っている意味がわかりません。プログラムが終了しない限り、再接続する必要はありません
ただし、HTTP ではsession、php プログラムはセッション中にのみ実行されます。つまり、セッションが終了するとプログラムは終了します
ため、再接続は避けられません。 C 言語プログラムの動作を誤解しないでください。プログラムは終了するまで実行され続けます。したがって、再接続する必要はありません
WebSocket を使用する場合、セッションは HTTP ではなく、WebSocket プロトコル (略して WS) になります。当然、動作は異なります