gpt4 book ai didi

c - libcurl 对多个并发请求使用 1 个连接

转载 作者:太空宇宙 更新时间:2023-11-04 05:49:56 25 4
gpt4 key购买 nike

我想使用 1 个 CURL 句柄,假设使用此句柄有 10 个并发请求。那可能吗?问题是如果我想要例如 100 个并发请求,它会打开太多连接,有时服务器拒绝回答,因为已经从同一个 IP 打开了太多连接。但是如果我有一个句柄并将这个句柄用于多个线程中的许多请求,这可能会解决问题。知道这是否可能吗?

最佳答案

如果您真的想在同一个连接上 并行执行多个请求,则需要使用 HTTP/2,并且所有这些请求都必须发送到同一主机。不过,这是一种常见的情况。然后你需要让 libcurl 使用 HTTP/2,你需要使用多接口(interface)。就像在 http2-download.c 示例中一样。

如果您有多个指向不同主机的 URL 并且想要限制用于传输这些的连接数,您可以使用简单的界面并一个接一个地获取 URL 以减少使用的连接数 - 结合 CURLOPT_MAXCONNECTS .

如果你想使用多接口(interface),你仍然可以允许 libcurl 对 CURLMOPT_MAX_TOTAL_CONNECTIONS 和 friend 进行有限数量的并行传输,即使你一次添加一百个简单的句柄。或者您可以限制并发添加的 easy handles 的数量。

关于c - libcurl 对多个并发请求使用 1 个连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44885935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com