我计划为我的项目构建一个C ++小型爬虫。我选择了Boost.Asio
库来实现联网功能。但是后来,我遇到了Boost.Beast
库,对于使用哪个库感到困惑。我有2个疑问:
问题1:
Boost.Asio
是否支持HTTPS
和HTTP/2
连接?
问题2:
Boost.Asio
和Boost.Beast
有什么区别?
我搜索了一些文档,但是找不到有用的信息。此外,只有少数关于Boost库的文章。
谢谢。
答案 0 :(得分:1)
第一季度:
不,它只会为您执行TCP。
第二季度:
Asio:
Boost.Asio是用于网络和底层的跨平台C ++库 为开发人员提供一致的I / O编程 使用现代C ++方法的异步模型。 https://www.boost.org/doc/libs/1_67_0/doc/html/boost_asio.html
野兽:
简而言之,Asio是较低级别的产品,可帮助您构建异步程序,提供I / O帮助,并且在网络方面主要限于传输层。它对SSL有一些支持。Beast是一个C ++仅标头库,可作为编写基础 提供低级的HTTP / 1,从而实现可互操作的网络库, WebSocket,以及网络协议词汇类型和算法 使用Boost.Asio的一致异步模型。 https://www.boost.org/doc/libs/1_67_0/libs/beast/doc/html/index.html
Beast较高级别,可在需要HTTP,Websockets等时为您提供帮助。它可与Asio互操作。