C ++プログラムのWebエンドの作成


9

サーバー上のC ++プログラムとインターフェイスするためのWebエンドを作成するための最良の方法は何だろうと思っていました。最初は、Webサーバー側の言語(shell_exec()PHPなど)からシェル実行を使用するだけだと思っていましたが、「より良い」方法があるかどうか疑問に思っていました。多分もっとネイティブなものか、これは何らかの理由で悪い習慣ですか?


私の知る限りここではstackoverflow上にある必要があります。しかし、間違っているかもしれません。
2011

4
それはより理論的であり、コードベースの答えを実際に必要としないため、programmers.SEの方がより良いと考えました。これは、このタスクを達成するためのアイデアに基づくものであり、具体的な方法ではありません。
ベン

回答:


7

C ++を使用したWebプログラミングは、ほとんど時代遅れになっています。これを行う従来の方法はCGIを使用することでした。チュートリアルはこちらをご覧ください。

それとも、のような埋め込まれたWebサーバを追加することができますマングースを

ただし、PHPのパススルーを使用するのが最も簡単だと思います。たとえば、私のサイトの1つに、画像を生成するC ++プログラムがあります。

<?

header("content-type: image/png"); 

$temp = $_GET["temp"];
$rain = $_GET["rain"];

passthru("/home/rrabien/marker $temp $rain")

?>

これはパススルー機能に感謝します。そのことは聞いたことがありません。結局のところ、これは私が最初に考えていたものですが、これが私が望んだことを達成するための本当に最良の方法であることを知っておくのは良いことです。FigBugに感謝します。
ベン

入力を正しくエスケープせずにパススルーを使用しないでください。そうしないと、ハッキングされる可能性があります。このリンクをお読みください:acunetix.com/websitesecurity/php-security-1.htm
Joeri Sebrechts

これが私のやり方ですが、私はジャンゴを使用しています。c ++アプリケーションに直接パススルーする代わりに、c ++アプリを起動するか、内部APIを使用してデーモンとIPCまたはネットワークを介して通信するためのpythonラッパーがあります。
michalmocny

3

ちなみに、C ++ Webツールキットは、複雑なWebインターフェースをC ++プログラムに簡単に追加できる一連のクラスを備えたライブラリーです。これは、Webインターフェイスの側面のみに焦点を当てており、それ以外の点ではプログラムに影響を与えません。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.