Crear un final web para un programa C ++

9

Me preguntaba cuál sería el mejor método para crear un final web para interactuar con un programa C ++ en el servidor. Al principio, pensé simplemente usando la ejecución de shell desde el lenguaje del lado del servidor web (como shell_exec()en PHP), pero me preguntaba si hay una forma "mejor". ¿Quizás algo más nativo o es una mala práctica por alguna razón?

Ben
fuente
Debería estar en stackoverflow no aquí AFAIK. Sin embargo, podría estar equivocado.
Termina el
44
Pensé que sería mejor para los programadores. SE porque es más teórico y realmente no requiere una respuesta basada en código. Esto se basa más en las ideas que rodean el logro de esta tarea, no en un método exacto de cómo hacerlo.
Ben

Respuestas:

7

La programación web con C ++ ha pasado de moda. La forma tradicional de hacerlo era con CGI. Ver aquí para un tutorial .

O puede agregar un servidor web incorporado como mangosta

Sin embargo, creo que es más fácil usar passthru de PHP. Por ejemplo, en uno de mis sitios tengo un programa C ++ que genera imágenes, para mostrar las imágenes que hago:

<?

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

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

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

?>
FigBug
fuente
Esto me parece bastante bueno, gracias por la función passthru. Nunca había oído hablar de eso. En general, esto es lo que originalmente tenía en mente, pero es bueno saber que esta es realmente la mejor manera de lograr lo que deseaba. Gracias FigBug.
Ben
NO use passthru sin escapar correctamente la entrada, o está pidiendo ser pirateado. Lea este enlace: acunetix.com/websitesecurity/php-security-1.htm
Joeri Sebrechts
Así es como lo hago, pero uso django. En lugar de pasar directamente a la aplicación c ++, tengo un contenedor de Python para iniciar mi aplicación c ++ o para comunicarme a través de IPC o de la red con un demonio usando algunas API internas. Funciona muy bien.
michalmocny
3

Wt, el kit de herramientas web C ++ es una biblioteca con un conjunto de clases que hace que sea mucho más fácil agregar una interfaz web de cualquier complejidad a un programa C ++. Se centra solo en los aspectos de la interfaz web y, por lo demás, no es intrusivo para su programa.


fuente
1

Estoy seguro de que hay un marco web compilable para C / C ++. Sin embargo, no estoy familiarizado con ninguno.

Con lo que estoy familiarizado es con la facilidad con la que puede extender Python con C / C ++ . Creo que se puede hacer aún más simple usando SWiG . Dado que Python tiene una gran cantidad de marcos web, esta puede ser una opción para usted.

dietbuddha
fuente