为C ++应用程序提供HTTP Web服务器功能

时间:2009-05-17 00:24:08

标签: c++ web-services http

我有一个C ++应用程序,正在寻找一个可以使其成为HTTP服务器的库,它能够提供静态文件以及执行非常简单的任务。唯一的限制是它必须是跨平台的。

我有什么选择。

澄清:我的应用程序需要一个Web界面。此应用程序是执行其他任务的后台程序。我想提供一种方式,以便您可以访问http://localhost:9999/performtaskhttp://localhost:9999/viewstatus

澄清2:类似这样http://www.gnu.org/software/libmicrohttpd/

8 个答案:

答案 0 :(得分:5)

this question。我最终选择了Mongoose

答案 1 :(得分:1)

Wt library就是这样做的。推荐,特别是如果您的用户界面变得更复杂。

答案 2 :(得分:1)

通过使用boost :: asio。

的HTTP Server示例,我完成了您想要完成的同样的事情

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

这对我来说是一个完美的解决方案,因为我的项目已经依赖于boost :: thread和boost :: asio,因此HTTP Server示例代码适合我的应用程序,我可以很容易地完全控制其线程行为。我只是将HTTP Server示例文件复制到我的项目中并自定义了请求 - 响应逻辑。

答案 3 :(得分:1)

只是一个想法!

为什么不将c ++应用程序代码转换为以下任何http服务器的本机/扩展模块。

  • Apache Webserver
  • IIS 7.0本机模块
  • Nginx的
  • LightHttpd

除IIS之外的所有上述服务器都是跨平台的。

建立扩展模块可能会产生更好的输出,上述服务器也可以扩展。

答案 4 :(得分:0)

我偏向poco library作为起点。

答案 5 :(得分:0)

了解Snorkel它是一款轻量级快速跨平台嵌入式/应用服务器SDK,可让您快速将Web界面添加到任何C / C ++应用程序。它是免费的,可以在http://sites.google.com/site/snorkelembedded找到。它比猫鼬快。

答案 6 :(得分:-1)

Java是跨平台解决方案的更好选择,而且它具有良好的Web服务apis。看看Netbeans,这是一个很好的入门方式。

答案 7 :(得分:-1)

Qt框架有buildin webkit。看看那个。