简单的HTTP服务器库

时间:2012-01-15 01:10:34

标签: c++ http

简单的http服务器库有什么好的选择?它不需要高性能。我宁愿寻找一些简单的REST / JSON通信(“API”)。

它必须能够在多线程环境中工作,并且必须能够处理大型POST请求。

有什么建议吗?我已经尝试过cpp-netlib,但这对于这么简单的任务来说似乎太复杂了......

编辑:我正在寻找一些非常轻巧简单的东西。例如。就像Ruby世界中的Sinatra一样。 Poco对我来说是另一个太重的图书馆的例子。

5 个答案:

答案 0 :(得分:11)

首先想到的是Poco Library(http://pocoproject.org/

跨平台,稳定,文档齐全。虽然图书馆本身提供的内容比您可能需要的多,但您可以构建并省略您不打算用来减少膨胀的部分。

他们有一个功能齐全的网络库,其中包括几个显着的类和实用程序。

这是来自该库的幻灯片的pdf,特别感兴趣的是HTTPServer类: http://pocoproject.org/slides/200-Network.pdf

答案 1 :(得分:3)

我建议您从boost.asio中的http服务器示例开始。它们非常简单易懂,您可以根据需要轻松扩展它们。

但是,如果你想跳到比示例代码更精彩的东西,我知道你可能想尝试使用C ++中的3个http服务器:

  • “x0 - HTTP Web服务器框架”对我个人来说这个看起来最有希望,因为它轻巧而简单
  • “highpower / xiva”是一个简单的http服务器框架,用于向浏览器发送通知
  • “Pion,Atomic Labs项目”是处理大量数据的精心设计框架的一部分

答案 2 :(得分:3)

不确定大型POST数据,但我之前使用过mongoose:https://github.com/cesanta/mongoose/

如果LGPL许可证是不需要的,那么当项目是MIT时还有一个MIT fork,它也会添加一个C ++ API https://github.com/bel2125/civetweb

答案 3 :(得分:0)

就个人而言,我会选择Arachnida(http://arachnida.sf.net),但这可能是因为我写了它。

答案 4 :(得分:0)

回答很晚;但希望这会有所帮助。
为了您对可以处理 REST 的服务器感兴趣,这里是最容易使用的 HTTP 服务器库(在我看来):https://github.com/yhirose/cpp-httplib
对于 JSON 解析,您可以搜索其他库以结合使用。