Предоставление приложению C ++ функциональности веб-сервера HTTP - PullRequest
1 голос
/ 17 мая 2009

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

Какие у меня варианты.

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

уточнение2: что-то вроде этого http://www.gnu.org/software/libmicrohttpd/

Ответы [ 8 ]

5 голосов
/ 17 мая 2009
1 голос
/ 21 декабря 2011

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

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

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

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

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

1 голос
/ 24 декабря 2010

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

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

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

1 голос
/ 06 декабря 2010

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

0 голосов
/ 27 июля 2010

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

0 голосов
/ 17 мая 2009

Я неравнодушен к библиотеке poco в качестве отправной точки.

0 голосов
/ 17 мая 2009

Фреймворк Qt имеет встроенный webkit. посмотри на это.

0 голосов
/ 17 мая 2009

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

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