Створення веб-кінця для програми C ++


9

Мені було цікаво, що було б найкращим методом створення веб-кінця для взаємодії з програмою C ++ на сервері. Спочатку я просто думав просто використовувати оболонку з мови веб-сервера (як shell_exec()у PHP), але мені було цікаво, чи існує "кращий" спосіб. Можливо, щось рідніше чи це чомусь погана практика?


Повинен бути на stackoverflow не тут AFAIK. Можливо, помиляюся.
Ендерс

4
Я вважав, що це буде краще для programer.SE, оскільки це більш теоретично і не вимагає дійсно відповіді на основі коду. Це більше базується на ідеях, пов'язаних із досягненням цього завдання, а не на точному методі, як це зробити.
Бен

Відповіді:


7

Веб-програмування на C ++ майже не вийшло із стилю. Традиційний спосіб зробити це було з CGI. Дивіться тут підручник .

Або ви можете додати вбудований веб-сервер на зразок мангуста

Однак я думаю, що найпростіше використовувати пастху PHP. Наприклад, на одному з моїх сайтів у мене є програма C ++, яка генерує зображення, для відображення зображень, які я роблю:

<?

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

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

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

?>

Мені це виглядає досить добре, дякую за функцію passthru. Я ніколи про це не чув. В цілому це те, що я спочатку мав на увазі, але добре знати, що це дійсно найкращий спосіб досягти того, що я бажав. Спасибі FigBug.
Бен

НЕ використовуйте passthru без правильного уникнення вводу, або ви просите зламати. Читайте це посилання: acunetix.com/websitesecurity/php-security-1.htm
Joeri Sebrechts

Так я це роблю, але використовую джанго. Замість того, щоб безпосередньо перейти до додатка c ++, у мене є обгортка python для запуску мого додатка c ++, або для спілкування через IPC або мережу з демоном, використовуючи деякі внутрішні програми api.Works дуже добре працює.
michalmocny

3

Wt, веб-інструментарій C ++ - це бібліотека з набором класів, що значно спрощує додавання веб-інтерфейсу будь-якої складності до програми C ++. Вона зосереджена лише на аспектах веб-інтерфейсу, інакше не нав'язлива для вашої програми.


1

Я впевнений, що для C / C ++ є веб-рамка, що компілюється. Однак я ні з ким не знайомий.

Мені знайоме - це простота, з якою ви можете розширити Python за допомогою C / C ++ . Я вважаю, що це можна зробити ще простіше, використовуючи SWiG . Зважаючи на те, що Python має безліч веб-рамок, це може бути для вас варіантом.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.