C++ HTTP 网络服务器库

4

我需要帮助选择一个适用于运行Linux的嵌入式系统的http web服务器,编程语言是C++。该服务器接收请求并需要以JSON格式响应。我正在看libmicrohttpd和libjson。还有其他库可以使用吗?由于我对Web服务相关领域不熟悉,所以在选择Web服务器库时应考虑哪些一般因素?


离题了,因为在寻找资源,但也可以考虑使用Wtlibonion提供HTTP服务,以及使用jsoncpp处理JSON。 - Basile Starynkevitch
5个回答

4

2
你还可以看一下libcexhttps://github.com/patrickjane/libcex
  • C++11
  • 简洁易用的API
  • 基于事件循环模型实现的可扩展/高性能性能(libevent/libevhtp
  • 支持HTTP/HTTPS
  • 开箱即用的安全性考虑
  • cmake构建系统
免责声明:我是这个库的作者。

1

请看RESTinio。它是仅有头文件的,因此更容易集成到您的项目中。同时,它使用ASIO进行网络/异步处理,并且可以在您自己的asio::io_context (asio::io_service)上运行,该上下文用于应用程序的其他部分,这对于嵌入式领域可能至关重要。

要处理JSON,请查看json_dto,它基于RapidJSON。有关带有JSON的RESTinio的示例代码,请参见此存储库:highloadcup2017


1

在我看来,这个不够详细。 - Zenul_Abidin

1

请查看使用Qt构建的C++11框架Cutelyst,在TechEmpower基准测试中获得了最佳排名。

尽管它需要Qt 5.6+,但完整的CMS(CMlyst)在单个核心上为每秒大约3000个请求提供服务时仅使用约6MB的RAM,因为目标是嵌入式系统,所以非常适合。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接