为C ++程序创建Web端


9

我想知道什么是创建与服务器上的C ++程序接口的Web端的最佳方法。起初,我只是以为仅使用Web服务器端语言(如shell_exec()PHP)中的Shell执行,但是我想知道是否存在“更好”的方式。也许是更原生的东西,或者由于某种原因这是不好的做法吗?


应该在stackoverflow上,而不是AFAIK上。可能是错的。
Enders

4
我认为这对程序员SE来说会更好,因为它更具理论性,并且实际上并不需要基于代码的答案。这更多是基于围绕完成此任务的想法,而不是确切的方法。

Answers:


7

使用C ++进行Web编程已经过时了。传统的方式是使用CGI。请参阅此处的教程

或者您可以添加嵌入式网络服务器(例如mongoose)

但是,我认为使用PHP的passthru最简单。例如,在我的一个站点上,我有一个C ++程序来生成图像,以显示我所做的图像:

<?

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

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

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

?>

对我来说,这看起来不错,感谢passthru函数。我从未听说过那个。总而言之,这就是我最初的想法,但是很高兴知道这确实是实现我想要的最好的方法。谢谢FigBug。

请勿在未正确转义输入的情况下使用passthru,否则您将被黑。阅读此链接:acunetix.com/websitesecurity/php-security-1.htm
Joeri Sebrechts

这是我的方法,但是我使用django。我没有直接传递给c ++应用程序,而是有一个python包装器来启动我的c ++应用程序,或者使用一些内部api.Works通过IPC或与守护程序进行网络通信,这确实很好。
michalmocny 2011年

3

等等,C ++ Web工具箱是一个包含一组类的库,可以使向C ++程序添加任何复杂程度的Web界面变得更加容易。它仅关注Web界面方面,否则不会干扰您的程序。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.