我需要帮助选择一个适用于运行Linux的嵌入式系统的http web服务器,编程语言是C++。该服务器接收请求并需要以JSON格式响应。我正在看libmicrohttpd和libjson。还有其他库可以使用吗?由于我对Web服务相关领域不熟悉,所以在选择Web服务器库时应考虑哪些一般因素?
libcex
。
https://github.com/patrickjane/libcex
libevent
/libevhtp
)请看RESTinio。它是仅有头文件的,因此更容易集成到您的项目中。同时,它使用ASIO进行网络/异步处理,并且可以在您自己的asio::io_context
(asio::io_service
)上运行,该上下文用于应用程序的其他部分,这对于嵌入式领域可能至关重要。
要处理JSON,请查看json_dto,它基于RapidJSON。有关带有JSON的RESTinio的示例代码,请参见此存储库:highloadcup2017。
请查看使用Qt构建的C++11框架Cutelyst,在TechEmpower基准测试中获得了最佳排名。
尽管它需要Qt 5.6+,但完整的CMS(CMlyst)在单个核心上为每秒大约3000个请求提供服务时仅使用约6MB的RAM,因为目标是嵌入式系统,所以非常适合。