веб-сайт с бэкэндом C++ на сервере Windows

Предыстория: я разработал программу на C++ в Visual Studio, которая принимает изображение в качестве входных данных, выполняет некоторый анализ компьютерного зрения, а затем создает некоторые результаты в txt-файлах. Сейчас я разрабатываю веб-сайт в качестве графического интерфейса для программы на С++. Таким образом, веб-сайт позволит пользователю загрузить изображение и получить результат анализа с сервера. И я уже закончил часть веб-программирования с wamp на моем рабочем столе.

Единственная проблема сейчас — это связь между внешним веб-сайтом и программой на С++ в бэкэнде. Я никогда раньше не работал с серверно-клиентской системой, поэтому вот мои вопросы:

  1. Как настроить структуру связи между моим веб-сайтом и программой на С++? Как веб-сайт отправляет сообщение на С++, когда изображение загружено, и сообщает С++, где искать это изображение? Как С++ отправляет сообщение на веб-сайт после завершения его работы? У меня осталось не так много времени для этого проекта, поэтому есть ли какая-либо базовая коммуникационная среда веб-С++, которую я могу загрузить и разработать на ней?

  2. Как веб-сайт проверяет, работает ли программа на С++ без ошибок? Как проверить прогресс в бэкэнд-программе на С++?

  3. Если пользователь веб-сайтов решит отменить предыдущий запрос, как веб-сайт остановит программу С++, когда она уже запущена?

  4. Как С++ поддерживает несколько запросов от разных пользователей? Как С++ запускает другой экземпляр программы и запускается по другому запросу?

Извините, что я новичок в этой области. Буду очень признателен, если кто-нибудь ответит на мои вопросы!


person JYI2    schedule 14.07.2015    source источник
comment
Сервер Windows имеет бэкэнд C # как технологию ASP.NET. Что вы можете сделать, так это либо реализовать свою логику на C#, либо найти способ взаимодействия с C++ через C#.   -  person phraniiac    schedule 14.07.2015


Ответы (2)


Взгляните на Wt (произносится как "остроумный", сокращение от "веб-инструментарий"), он может дать больше, чем вам нужно. (он также выполняет веб-программирование для вас, но вы можете связать с ним css.), но, похоже, это то, что вы хотите.

У меня нет личного опыта работы с Wt, но я протестировал его, и, похоже, он работает очень хорошо.

Насколько я знаю, он использует boost.asio в качестве бэкэнд-фреймворка порта, с которого можно начать, если вы захотите написать свой собственный.

person Russell Greene    schedule 14.07.2015

Обычной практикой является оболочка C++/CLI для машинного кода. Вам необходимо разработать API для своего кода, и он будет доступен для использования в приложениях .NET, включая ASP.NET.

person Eugene    schedule 14.07.2015