Предоставление приложения C ++ функции веб-сервера HTTP

У меня есть приложение на C ++ и вы ищете библиотеку, которая сделает его HTTP-сервером, который сможет обслуживать статические файлы, а также выполнять очень простые задачи. Единственное ограничение состоит в том, что он должен быть кросс-платформенным.

Каковы мои варианты.

Уточнение: для моего приложения мне нужен веб-интерфейс. Это приложение является фоновой программой, которая выполняет другие задачи. Я хочу предоставить способ, чтобы вы могли получить доступ к http: // localhost: 9999 / performtask или http: // localhost: 9999 / viewstatus

разъяснение2: что-то вроде этого http://www.gnu.org/software/libmicrohttpd/

    См. Этот вопрос . Я решил выбрать Мангуста .

    Библиотека Wt делает именно это. Рекомендуется, особенно если ваш пользовательский интерфейс становится более сложным.

    Я выполнил то же самое, чего вы хотите выполнить, используя пример HTTP Server для boost :: asio.

    http://www.boost.org/doc/libs/1_43_0/doc/html/boost_asio/examples.html

    Это было идеальным решением для меня, потому что мой проект уже зависел от boost :: thread и boost :: asio, поэтому код примера HTTP-сервера вписывался в мое приложение, и я мог легко получить полный контроль над его streamовым поведением. Я просто скопировал файлы примера HTTP-сервера в свой проект и настроил логику запроса-ответа.

    Просто мысль !

    Почему бы вам не преобразовать код приложения c ++ в собственный / дополнительный модуль для любого из следующих http-серверов.

    • Веб-сервер Apache
    • Собственный модуль IIS 7.0
    • Nginx
    • LightHttpd

    Все вышеперечисленные серверы, кроме IIS, являются кросс-платформенными.

    Возможно, создание модуля расширения даст лучший результат, и вышеупомянутый сервер также будет очень масштабируемым.

    В качестве отправной точки я частично отношусь к библиотеке poco .

    Взгляните на Snorkel – это легкий кросс-платформенный встроенный / сервер приложений SDK, который позволяет вам быстро добавлять веб-интерфейсы в любое приложение C / C ++. Его бесплатно и можно найти на http://sites.google.com/site/snorkelembedded . Это быстрее, чем мангуста.

    Java станет лучшим выбором для кросс-платформенного решения, плюс он будет иметь хорошие веб-сервисы apis. Взгляните на Netbeans, это хороший способ начать работу.

    Структура Qt имеет встроенный webkit. взгляните на это.