Création d'une extrémité Web pour un programme C ++

9

Je me demandais quelle serait la meilleure méthode pour créer une extrémité Web pour l'interfaçage avec un programme C ++ sur le serveur. Au début, je pensais simplement à utiliser l'exécution du shell à partir du langage côté serveur Web (comme shell_exec()en PHP), mais je me demandais s'il y avait une "meilleure" façon. Peut-être quelque chose de plus natif ou est-ce une mauvaise pratique pour une raison quelconque?

Ben
la source
Devrait être sur stackoverflow pas ici AFAIK. Cela pourrait être faux cependant.
Fin le
4
Je pensais que ce serait mieux sur programmers.SE parce que c'est plus théorique et ne nécessite pas vraiment de réponse basée sur du code. Ceci est davantage basé sur les idées entourant la réalisation de cette tâche, et non sur une méthode exacte pour le faire.
Ben

Réponses:

7

La programmation Web avec C ++ est pratiquement devenue obsolète. La façon traditionnelle de le faire était avec CGI. Voir ici pour un tutoriel .

Ou vous pouvez ajouter un serveur Web intégré comme mangouste

Cependant, je pense qu'il est plus facile d'utiliser le passthru de PHP. Par exemple, sur l'un de mes sites, j'ai un programme C ++ qui génère des images, pour afficher les images que je fais:

<?

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

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

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

?>
FigBug
la source
Cela me semble plutôt bien, merci pour la fonction passthru. Je n'avais jamais entendu parler de celui-là. Dans l'ensemble, c'est ce que j'avais à l'origine à l'esprit, mais il est bon de savoir que c'est vraiment la meilleure façon de réaliser ce que je désirais. Merci FigBug.
Ben
N'utilisez PAS le relais sans échapper correctement l'entrée, ou vous demandez à être piraté. Lisez ce lien: acunetix.com/websitesecurity/php-security-1.htm
Joeri Sebrechts
C'est comme ça que je le fais, mais j'utilise django. Au lieu de passer directement à l'application c ++, j'ai un wrapper python pour lancer mon application c ++, ou communiquer via IPC ou réseau avec un démon en utilisant un api interne. Fonctionne très bien.
michalmocny
3

Wt, la boîte à outils Web C ++ est une bibliothèque avec un ensemble de classes qui facilitent l'ajout d'une interface Web de toute complexité à un programme C ++. Il se concentre uniquement sur les aspects de l'interface Web et est par ailleurs non intrusif pour votre programme.


la source
1

Je suis sûr qu'il existe un framework Web compilable pour C / C ++. Cependant, je n'en connais aucun.

Ce que je connais, c'est la facilité avec laquelle vous pouvez étendre Python avec C / C ++ . Je pense que cela peut être rendu encore plus simple en utilisant SWiG . Étant donné que Python a une pléthore de cadres Web, cela peut être une option pour vous.

Dietbuddha
la source