Bir C ++ programı için web ucu oluşturma


9

Ne sunucuda bir C ++ programı ile arabirim için bir web ucu oluşturmak için en iyi yöntem olacağını merak ediyordum. İlk başta sadece web sunucusu tarafı dil ( shell_exec()PHP gibi ) kabuk yürütme kullanarak düşündüm , ama "daha iyi" bir yolu olup olmadığını merak ediyordum. Belki daha doğal bir şey mi yoksa bir nedenden dolayı bu kötü bir uygulama mı?


Burada AFAIK değil stackoverflow olmalıdır. Yine de yanlış olabilir.
Enders

4
Ben daha teorik ve gerçekten kod tabanlı bir cevap gerektirmez çünkü programcılar üzerinde daha iyi olacağını düşündüm. Bu daha çok, bu görevi yerine getirmenin kesin bir yöntemine değil, bu görevi yerine getirmeye yönelik fikirlere dayanmaktadır.
Ben

Yanıtlar:


7

C ++ ile web programlama hemen hemen modası geçmiş. Bunu yapmanın geleneksel yolu CGI idi. Bir için buraya bakınız öğretici .

Veya mongoose gibi katıştırılmış bir web sunucusu ekleyebilirsiniz

Ancak, PHP'nin passthru kullanmak en kolay olduğunu düşünüyorum. Örneğin, sitelerimden birinde yaptığım görüntüleri görüntülemek için resim üreten bir C ++ programı var:

<?

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

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

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

?>

Bu benim için oldukça iyi görünüyor, passthru işlevi için teşekkürler. Bunu hiç duymamıştım. Tüm bunlar aslında aklımda olan şeydi, ama bunun istediğimi elde etmenin en iyi yolu olduğunu bilmek güzel. Teşekkürler FigBug.
Ben

Girişten doğru şekilde kaçmadan passthru KULLANMAYIN, aksi takdirde saldırıya uğramak istersiniz. Bu bağlantıyı okuyun: acunetix.com/websitesecurity/php-security-1.htm
Joeri Sebrechts

Ben böyle yapıyorum ama django kullanıyorum. Doğrudan c ++ uygulamasına geçmek yerine, benim c ++ uygulamasını başlatmak veya IPC veya ağ üzerinden bazı dahili api.Works kullanarak gerçekten iyi bir arka plan programı ile iletişim kurmak için bir python sarıcı var.
michalmocny

3

Wt, C ++ web araç seti , bir C ++ programına herhangi bir karmaşıklıkta bir web arabirimi eklemeyi çok daha kolay hale getiren bir dizi sınıf içeren bir kitaplıktır. Yalnızca web arayüzü yönlerine odaklanır ve aksi takdirde programınıza müdahaleci değildir.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.