Веб-сервер/веб-сервис, написанный на C++ в Linux/Windows Server

Требование состоит в том, чтобы иметь машину Linux/Windows Server без дополнительных установок, таких как Java, apache tomcat/jboss, которая сможет служить веб-сервером и принимать запросы веб-службы (мне придется написать какую-то веб-службу на C++, которая будет служить под этим веб-сервером).

Итак, вопрос в том, есть ли какая-то библиотека C++, которая обеспечивает такую ​​​​симуляцию веб-сервера, поскольку извне он должен вести себя так же - получать http-запрос и перенаправлять на соответствующий веб-сервис.

С точки зрения лицензии предпочтительнее иметь бесплатную лицензию для коммерческого распространения, но действительно хорошие варианты (которые заслуживают своей цены) также будут рассмотрены.

Добро пожаловать в рекомендации по программному обеспечению! Хотя я не знаю С++, мне любопытно: почему вы можете установить библиотеку C, но не программу C (например, Apache)? Также: знаете ли вы веб-сервер Apache (не tomcat)? httpd.apache.org
Привет Анджело, C++ уже работает на этой машине. Требование – отсутствие каких-либо дополнительных установок. Я проверю вашу ссылку. Спасибо.
Привет Mawg, я просто занимаюсь исследованием прямо сейчас. Пока что я ищу библиотеку LibMongoose (была рекомендована на другом форуме), но она не бесплатна для коммерческого использования.

Ответы (2)

На C++ написано много фреймворков, один из них:

Cutelyst C++11, созданный с помощью Qt, с одной из лучших позиций в тестах TechEmpower Benchmarks .

Несмотря на то, что для этого требуется Qt 5.6+, полная CMS ( CMlyst ) использует около 6 МБ ОЗУ, обслуживая около 3000 запросов в секунду на одном ядре.

Это лицензия LGPLv2.1+, что означает, что вы можете использовать ее в коммерческих проектах.

Если вам нужна серверная библиотека HTTP (и HTTPS), которую можно использовать из C или C++, вам следует рассмотреть libonion (лицензия LGPLv3), Wt (лицензия GPL или коммерческая лицензия), libhttp (лицензия MIT) или libmicrohttpd (лицензия LGPLv2.1). лицензирован).

С помощью этих библиотек вы можете довольно легко сделать веб-сервер из своего приложения.

Конечно, вам нужно понимать основные веб-технологии (HTML5, AJAX, CSS). Эти библиотеки добавляют в ваш код только некоторые службы HTTP/HTTPS.