用于处理多个 HTTP 连接的 C++ 库

标签 c++ winapi http curl

我正在寻找一个库来处理多个并发 HTTP 连接(首选在单个线程上)以在 Windows 中的 C++ 中使用,以便它可以基于 Win32 API。这适用于必须处理请求列表但始终保持 4 运行直到列表完成的客户端应用程序。

到目前为止,我已经尝试过 cURL(多接口(interface)),这似乎是我发现的最合适的方法,但我的问题是我可能有一个包含 200 个请求的队列,但我一次只需要运行其中的 4 个.当一个请求可能需要 2 秒而另一个请求可能需要 2 分钟时,这就会成为问题,因为您必须等待所有句柄并在一个 block 中接收所有请求的结果。如果有人知道解决这个问题的方法,那将非常有用。

我也尝试过使用 WinHTTP 自己滚动,但我需要限制请求,以便理想情况下它们需要在单个线程上并使用 WinHTTP 不执行的数据回调。

我发现可以解决我所有问题的最好的方法是 ASIHTTPRequest,但不幸的是它仅适用于 Mac OSX。

谢谢, J

最佳答案

你看过 boost.asio 了吗? http://www.boost.org/doc/libs/1_46_1/doc/html/boost_asio.html

它旨在很好地扩展并具有 http 服务器示例: http://www.boost.org/doc/libs/1_46_1/doc/html/boost_asio/examples.html

关于用于处理多个 HTTP 连接的 C++ 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5283634/

相关文章:

c++ - 如何使用 printf 打印空白字符?

C++有效地创建具有单个条目不同的 map

c++ - 我可以使用 std::partial_sort 对 std::map 进行排序吗?

arrays - 在单个 JSON Patch 操作中向数组添加多个值?

c++ - 使用 (nobase_)pkginclude_HEADERS 在子目录中安装 header

c++ - 删除文件而不是将其标记为删除

winapi - Windows 上的 GlobalMemoryStatusEx() 结果错误

WinAPI 和 NTFS : reading longer paths

linux - curl 命令获取时间

HTTP PUT 方法结构示例