c++ 简单HTTP服务器库

5n0oy7gb  于 2023-01-28  发布在  其他
关注(0)|答案(5)|浏览(218)

简单的http服务器库有什么好的选择?它不需要高性能。我宁愿寻找一些简单的REST/JSON通信(“API”)。
它必须能够在多线程环境中工作,并且必须能够处理大型POST请求。
有什么建议吗?我已经试过cpp-netlib了,但是对于这样一个简单的任务来说,这似乎太复杂了...
编辑:我正在寻找一些真正轻量级和简单的东西。例如,像Sinatra在Ruby的世界。Poco对我来说是另一个过于沉重的库的例子。

0s7z1bwu

0s7z1bwu1#

首先想到的是Poco库(http://pocoproject.org/
跨平台、稳定、文档化良好。虽然库本身提供了比您可能需要的更多的内容,但您可以构建并省略您不打算使用的部分,以减少膨胀。
它们有一个功能齐全的Net库,其中包括几个突出的类和实用程序。
下面是该库中幻灯片的PDF格式,其中特别值得一提的是HTTPServer类:http://pocoproject.org/slides/200-Network.pdf

swvgeqrz

swvgeqrz2#

不确定POST数据是否大,但我以前使用过mongoose:https://github.com/cesanta/mongoose/.
如果不需要LGPL许可证,则在项目为MIT时存在MIT分支,该分支也添加了C++ API https://github.com/bel2125/civetweb

0lvr5msh

0lvr5msh3#

我鼓励你从boost. asio中的http服务器示例开始,它们非常简单易懂,你应该能够根据需要轻松地扩展它们。
但是,如果您想跳到比示例代码更精致的内容上,我知道有3个C++中的http服务器,您可能想尝试一下:

  • “x 0-HTTPWeb服务器框架”对我个人来说,这一个似乎是最有前途的,因为它是轻量级的和简单的
  • “highpower / xiva”是一个简单的HTTP服务器框架,用于向浏览器发送通知
  • “原子实验室的一个项目”是处理大量数据的复杂框架的一部分
umuewwlo

umuewwlo4#

很晚才回答;但希望这个能帮上忙。
如果您对可以处理REST的服务器感兴趣,下面是最容易使用的HTTP服务器库(在我看来):https://github.com/yhirose/cpp-httplib.
对于JSON解析,您可以搜索另一个库来结合使用它。

hs1rzwqc

hs1rzwqc5#

就我个人而言,我会选择Arachnida,但这可能是因为我写了它。

相关问题