Tworzenie strony internetowej dla programu C ++

9

Zastanawiałem się, jaka byłaby najlepsza metoda tworzenia strony internetowej do współpracy z programem C ++ na serwerze. Na początku po prostu pomyślałem o użyciu powłoki z języka serwera WWW (jak shell_exec()w PHP), ale zastanawiałem się, czy istnieje „lepszy” sposób. Może coś bardziej rodzimego lub z jakiegoś powodu jest to zła praktyka?

Ben
źródło
Powinny być na stosie przepływu nie tutaj AFAIK. Może się mylić.
Enders
4
Uznałem, że byłoby lepiej na programistach.SE, ponieważ jest bardziej teoretyczny i tak naprawdę nie wymaga odpowiedzi opartej na kodzie. Jest to bardziej oparte na pomysłach związanych z realizacją tego zadania, a nie na dokładnej metodzie tego, jak to zrobić.
Ben

Odpowiedzi:

7

Programowanie internetowe w C ++ prawie wyszło z mody. Tradycyjny sposób to zrobić z CGI. Zobacz tutaj samouczek .

Możesz też dodać wbudowany serwer internetowy, taki jak mangusta

Myślę jednak, że najłatwiej jest użyć passthru PHP. Na przykład na jednej z moich stron mam program C ++, który generuje obrazy, aby wyświetlać obrazy, które robię:

<?

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

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

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

?>
FigBug
źródło
Wygląda mi to całkiem dobrze, dziękuję za funkcję passthru. Nigdy o tym nie słyszałem. W sumie to właśnie miałem na myśli, ale dobrze wiedzieć, że to naprawdę najlepszy sposób na osiągnięcie tego, czego pragnąłem. Dzięki FigBug.
Ben
NIE używaj passthru bez poprawnej zmiany danych wejściowych, lub poprosisz o zhakowanie. Przeczytaj ten link: acunetix.com/websitesecurity/php-security-1.htm
Joeri Sebrechts
Tak to robię, ale używam django. Zamiast przechodzić bezpośrednio do aplikacji c ++, mam otokę Pythona do uruchamiania mojej aplikacji c ++ lub komunikacji przez IPC lub sieć z demonem przy użyciu niektórych wewnętrznych api. Działa naprawdę dobrze.
michalmocny
3

Wt, internetowy zestaw narzędzi C ++ to biblioteka z zestawem klas, które znacznie ułatwiają dodanie interfejsu WWW o dowolnej złożoności do programu C ++. Koncentruje się tylko na aspektach interfejsu internetowego, a poza tym nie przeszkadza Twojemu programowi.


źródło