Erstellen eines Web-End für ein C ++ - Programm

9

Ich habe mich gefragt, was die beste Methode zum Erstellen eines Webendes für die Schnittstelle mit einem C ++ - Programm auf dem Server ist. Zuerst dachte ich einfach, nur die Shell-Ausführung in der Sprache des Webservers zu verwenden (wie shell_exec()in PHP), aber ich fragte mich, ob es einen "besseren" Weg gibt. Vielleicht etwas Eingeboreneres oder ist das aus irgendeinem Grund eine schlechte Praxis?

Ben
quelle
Sollte auf Stackoverflow nicht hier AFAIK sein. Könnte aber falsch sein.
Enders
4
Ich dachte, es wäre besser für Programmierer. SE, weil es theoretischer ist und keine wirklich codebasierte Antwort erfordert. Dies basiert eher auf den Ideen zur Erreichung dieser Aufgabe als auf einer genauen Methode, wie dies zu tun ist.
Ben

Antworten:

7

Die Webprogrammierung mit C ++ ist ziemlich aus der Mode gekommen. Die traditionelle Vorgehensweise war mit CGI. Hier finden Sie ein Tutorial .

Oder Sie können einen eingebetteten Webserver wie Mungo hinzufügen

Ich denke jedoch, dass es am einfachsten ist, PHPs Durchgang zu verwenden. Auf einer meiner Websites habe ich beispielsweise ein C ++ - Programm, das Bilder generiert, um die Bilder anzuzeigen, die ich mache:

<?

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

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

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

?>
FigBug
quelle
Das sieht für mich ziemlich gut aus, danke für die Durchgangsfunktion. Ich hatte noch nie davon gehört. Alles in allem war dies das, was ich ursprünglich im Sinn hatte, aber es ist gut zu wissen, dass dies wirklich der beste Weg ist, um das zu erreichen, was ich wollte. Danke FigBug.
Ben
Verwenden Sie Passthru NICHT, ohne die Eingabe korrekt zu umgehen, oder Sie möchten gehackt werden. Lesen Sie diesen Link: acunetix.com/websitesecurity/php-security-1.htm
Joeri Sebrechts
So mache ich das, aber ich benutze Django. Anstatt direkt zur C ++ - Anwendung zu gelangen, habe ich einen Python-Wrapper, mit dem ich entweder meine C ++ - App starten oder über IPC oder ein Netzwerk mit einem Daemon unter Verwendung einer internen API kommunizieren kann.
michalmocny
3

Wt, das C ++ - Web-Toolkit ist eine Bibliothek mit einer Reihe von Klassen, die es wesentlich einfacher machen, einem C ++ - Programm eine Weboberfläche beliebiger Komplexität hinzuzufügen. Es konzentriert sich nur auf die Aspekte der Weboberfläche und ist ansonsten für Ihr Programm nicht aufdringlich.


quelle