Creazione di un web-end per un programma C ++


9

Mi chiedevo quale sarebbe stato il metodo migliore per creare un fine web per l'interfacciamento con un programma C ++ sul server. All'inizio pensavo semplicemente di usare l'esecuzione della shell dal linguaggio lato web server (come shell_exec()in PHP), ma mi chiedevo se esiste un modo "migliore". Forse qualcosa di più nativo o è una cattiva pratica per qualche motivo?


Dovrebbe essere su StackOverflow non qui AFAIK. Potrebbe essere sbagliato però.
Inserisce il

4
Ho pensato che sarebbe stato meglio per i programmatori. SE perché è più teorico e non richiede davvero una risposta basata su codice. Questo è più basato sulle idee che circondano il raggiungimento di questo compito, non un metodo esatto su come farlo.
Ben

Risposte:


7

La programmazione Web con C ++ è praticamente fuori moda. Il modo tradizionale di farlo era con CGI. Vedi qui per un tutorial .

Oppure puoi aggiungere un server web incorporato come la mangusta

Tuttavia, penso che sia più facile usare il passthru di PHP. Ad esempio, su uno dei miei siti ho un programma C ++ che genera immagini, per visualizzare le immagini che faccio:

<?

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

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

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

?>

Questo mi sembra abbastanza buono, grazie per la funzione passthru. Non ne avevo mai sentito parlare. Tutto sommato, questo è ciò che avevo in mente inizialmente, ma è bene sapere che questo è davvero il modo migliore per ottenere ciò che desideravo. Grazie FigBug.
Ben

NON utilizzare il passthru senza evitare correttamente l'input o stai chiedendo di essere violato. Leggi questo link: acunetix.com/we websiteecurity
Joeri Sebrechts

Questo è come lo faccio, ma uso Django. Invece di passare direttamente all'applicazione c ++, ho un wrapper Python per avviare la mia app c ++ o per comunicare tramite IPC o rete con un demone usando alcune API interne. Funziona davvero bene.
michalmocny,

3

Ovviamente, il web toolkit C ++ è una libreria con un insieme di classi che rendono molto più semplice aggiungere un'interfaccia web di qualsiasi complessità a un programma C ++. Si concentra solo sugli aspetti dell'interfaccia Web ed è altrimenti non invadente per il tuo programma.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.