Criando um fim da Web para um programa C ++

9

Eu queria saber qual seria o melhor método para criar um final da web para interface com um programa C ++ no servidor. No começo, eu simplesmente pensei em usar a execução de shell da linguagem do lado do servidor web (como shell_exec()no PHP), mas estava pensando se existe uma maneira "melhor". Talvez algo mais nativo ou isso seja uma prática ruim por algum motivo?

Ben
fonte
Deve estar no stackoverflow não aqui AFAIK. Pode estar errado embora.
Enders
4
Imaginei que seria melhor para os programadores.SE porque é mais teórico e não exige realmente uma resposta baseada em código. Isso se baseia mais nas idéias que envolvem a realização dessa tarefa, e não em um método exato de como fazê-lo.
Ben

Respostas:

7

A programação na Web com C ++ praticamente saiu de moda. A maneira tradicional de fazer isso era com o CGI. Veja aqui para um tutorial .

Ou você pode adicionar um servidor da Web incorporado como o mangusto

No entanto, acho que é mais fácil usar o passthru do PHP. Por exemplo, em um dos meus sites, tenho um programa C ++ que gera imagens, para exibir as imagens que faço:

<?

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

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

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

?>
FigBug
fonte
Isso me parece muito bom, obrigado pela função passthru. Eu nunca tinha ouvido falar disso. Tudo isso é o que eu tinha originalmente em mente, mas é bom saber que essa é realmente a melhor maneira de alcançar o que eu desejava. Obrigado FigBug.
Ben
NÃO use passthru sem escapar corretamente da entrada, ou você está pedindo para ser invadido. Leia este link: acunetix.com/websitesecurity/php-security-1.htm
Joeri Sebrechts
É assim que eu faço, mas eu uso o django. Em vez de passar diretamente para o aplicativo c ++, tenho um wrapper python para iniciar meu aplicativo c ++ ou para me comunicar através do IPC ou da rede com um daemon usando algumas APIs internas muito bem.
michalmocny
3

Wt, o C ++ web toolkit é uma biblioteca com um conjunto de classes que facilita muito adicionar uma interface da web de qualquer complexidade a um programa C ++. Ele se concentra apenas nos aspectos da interface da web e, de outra forma, não é invasivo para o seu programa.


fonte
1

Tenho certeza de que há uma estrutura da Web compilável para C / C ++. No entanto, não estou familiarizado com nenhum.

Estou familiarizado com a facilidade com a qual você pode estender o Python com C / C ++ . Eu acredito que isso pode ser simplificado usando o SWiG . Dado que o Python possui uma infinidade de estruturas da web, isso pode ser uma opção para você.

dietbuddha
fonte