2

我正在尝试使用 C++ 学习网络编程,这是一种可移植的方式(不坚持任何特定的操作系统)。我在上一个问题中询问了关于 Boost::Asio 和 POCO 的一个好的便携式网络库和专家(SO 用户)的建议。

最近我偶然发现了 cURL(我听说过它,但忘记了有类似的东西)。我知道它是一个多协议文件传输库,但这不是网络库可以做什么吗?

我的问题是 cURL 的用途是什么?它是另一个网络库吗?如果是的话,不是很好吗?为什么没有人推荐 Curl?如果没有,与 Boost::Asio 和 POCO 等网络库相比,何时使用它?

4

2 回答 2

3

cURL主要用于处理 URIs/URLs。URL 主要用于网络,但至少在理论上这或多或少是 cURL 附带的。尽管这样做可能并不常见,但如果您编写的程序只处理本地文件,但使用file://URL 进行处理,cURL 可以很好地处理这些本地 URL。

Boost ASIO 有做网络的基础设施,但没有直接使用 URL。Boost 的其他部分包括诸如字符串处理之类的东西,这在构建 URI/URL 处理时可能会很方便,但据我所知,没有任何特定于操作 URI/URL 的内容。

POCO 是一个成熟的网络库,它还包括 URI 处理,但并非专门用于(任何接近)它。

于 2012-03-26T05:50:27.320 回答
0

cURL 只允许您向 URI 发出请求。它不能帮助您运行服务器或进行低级网络编程。

于 2012-03-26T05:46:10.363 回答