• 締切済み

apache,ruby(PHP),cの連携について

C言語で書いたプログラムをプロセスとして立ち上げておいて、Rubyからそのプロセスに値を渡してCのプログラムを実行することは可能でしょうか。 以下に、現在の構成とやりたいことを記載します。 【構成】 OS:CentOS httpd:apache 使用言語:Ruby(or PHP)、C言語(OpenCV) 【やりたいこと・概要】 ユーザがブラウザからパラメータを入力し、そのパラメータを元にサーバで画像処理を行い、その結果をユーザへXMLで返したい。 その際に、画像処理を行うプログラム(C言語)では、ディスクから大量のデータをメモリにロードするため、処理時間がかかります。そこで、C言語はプロセスとして常に上げておくことで、メモリへのロード時間を削減したい。 【やりたいこと・流れ】 1.ユーザが、ブラウザから値を入力し、POSTする 2.Ruby(or PHP)で受け取る 3.受け取った値をC言語で書かれたプログラム(OpenCVを利用した画像処理プログラムで、これをプロセスとして常に上げておきたい)へ連携する 4.連携された値を元に画像処理を行い、処理結果をRuby(or PHP)へ返す 5.Ruby(or PHP)で受け取った情報をXMLにして、ユーザへ返す ※ Ruby(or PHP)と書いた部分はC言語をプロセスとしてあげておいてPOSTを受け取ることが出来ればC言語での実装でも構いません。 乱文になってしまい読みづらくて申し訳ありません。 情報の過不足などが有りましたらご指摘をお願いします。 お分かりになる方、ヒントでも構いませんので教えて頂ければ幸いです。 以上です。よろしくお願い致します。

みんなの回答

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

可不可だけでいえば可能。 例えば似たようなものとして apache-ruby(or PHP)-RDB(mysqlなど) がありますよね。 rubyとプログラム間はプロセス間通信するなりsocketで通信するなりすればよいかと。

関連するQ&A

専門家に質問してみよう