Облегченный HTTP / HTTPS-сервер на C ++ (не на C) - PullRequest
0 голосов
/ 15 января 2011

Мне нужно создать облегченный http-сервер для моего приложения, в основном это сервер, который прослушивает порт и выводит информацию о состоянии по запросам, https и другим функциям. Но я хотел бы сначала узнать, существует ли что-то подобное в C ++ для Linux и с открытым исходным кодом.

Кто-нибудь знает такую ​​программу?

Спасибо.

РЕДАКТИРОВАТЬ: он должен поддерживать высокую нагрузку.

Ответы [ 5 ]

6 голосов
/ 15 января 2011

Если вы можете использовать boost, библиотека asio предоставляет http пример .Он не использует SSL, но Asio может использовать OpenSSL очень легко .

2 голосов
/ 17 января 2011

Если вы хотите справиться с высокими нагрузками, я бы предложил следующее:

  1. Использовать правильный веб-сервер со всеми вкусностями, такими как Lighttpd, Nginx или Apache (в таком порядке).

    Это бы отлично справилось с обслуживанием статических файлов и обработкой вашего приложения.И они очень легкие.

  2. Написать приложение на C ++, используя надлежащий веб-фреймворк - CppCMS - который предназначен для высоких нагрузок
  3. Подключите веб-приложение ксервер по протоколу FastCGI или SCGI (в этом порядке).

Отказ от ответственности: я являюсь автором CppCMS

0 голосов
/ 16 января 2011

см. Thttpd.Возможно, самый быстрый файловый сервер с открытым исходным кодом на всех машинах с одним процессором.

0 голосов
/ 15 января 2011

Если не использовать HTTPS, написание статического файлового сервера займет около двух часов.

0 голосов
/ 15 января 2011

Быстрый поиск в Google "C ++ Framework веб-приложения" показывает вещи, называемые CppCMS и что-то еще, называемое WT.Это может помочь вам начать.

Или, как Сэм уже ответил: boost.asio содержит пример HTTP, который может быть достаточным, если ваши потребности просты.(Реальная обработка HTTP-запросов на самом деле удивительно сложна: http://webmachine.basho.com/diagram.html)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...