PHP Web アプリケーションと C プログラムの 2 つのアプリケーションがあります。PHP アプリは、結果を返す C プログラムにデータを送信する必要があります。c プログラムは、前の入力のデータをメモリに保持する必要があるため、サイクル (while(true)) 内で常に実行する必要があります。
ファイル(入力および出力ファイル)を使用して、cとphpの間でデータを渡す問題を処理します。私の Web アプリケーションに変更がある場合、私の php スクリプトはファイルを更新し、それは私の C プログラムによって読み取られます。出力は別のファイルに書き込まれます。Web アプリケーションは常に変更を探しています。
このような問題を解決するのは賢明な解決策ではないと思います。おそらく、必要のないファイルアクセスがたくさんあります。
次のスレッドからのインスピレーションと助けを借りて、一種のC phpサーバーブリッジを使用することが良い解決策になると思いました.
PHP(Webアプリケーション)で値を渡してCプログラムを実行する方法
私はマングースから始めました。Mongoose は非常に軽量な Web サーバーです。私の現在の考えは、私の Web アプリケーションは POST 経由でデータを C プログラムに直接送信するというものです。リクエストはマングース Web サーバーによって処理されます。これは行く方法ですか?または、2つのアプリケーションに分割する方が良い解決策になります1)入力出力を処理するWebサーバー-両方のプログラム間の変数は共有メモリによって渡されます2)現在の操作用のCプログラム(共有メモリを介した入力/出力)
または、これはすべて完全に間違った方法であり、a) ファイルソリューションに固執する必要があります b) もっと良い方法がありますか? このすべての質問で申し訳ありませんが、私はcにかなり慣れていないため、多くの苦労をしており、これらすべてに自信がありません。
編集
私のCプログラムが何をするかをより具体的にしようとしています。基本的にシミュレーションです。これは約 20 ~ 40 の入力がすべて整数で、ほとんどの場合 0 または 1 である状態フローのようなものです。プログラムは、入力と以前の状態のベースに基づいて動作します。入力ファイルを元の状態に変更することにより、1 回の反復後に入力がリセットされます。
出力ファイルは、対応する出力値 (var = 1 var2 = 3 など) で常に更新されます。