多方查找,新版本中以下方式可以调整收包大小阈值:
CURLOPT_BUFFERSIZE explained
NAME
CURLOPT_BUFFERSIZE - set preferred receive buffer size
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_BUFFERSIZE, long size);
DESCRIPTION
Pass a long specifying your preferred size (in bytes) for the receive buffer in libcurl. The main point of this would be that the write callback gets called more often and with smaller chunks. Secondly, for some protocols, there's a benefit of having a larger buffer for performance.
This is just treated as a request, not an order. You cannot be guaranteed to actually get the given size.
This buffer size is by default CURL_MAX_WRITE_SIZE (16kB). The maximum buffer size allowed to be set is CURL_MAX_READ_SIZE (512kB). The minimum buffer size allowed to be set is 1024.
DEFAULT
PROTOCOLS
EXAMPLE
CURL *curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "sftp://example.com/foo.bin");
/* ask libcurl to allocate a larger receive buffer */
curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, 120000L);
ret = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
AVAILABILITY
Added in 7.10. Growing the buffer was added in 7.53.0.
RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
本文介绍libcurl中调整接收缓冲区大小的方法及其默认限制。CURLOPT_BUFFERSIZE选项允许用户指定希望使用的缓冲区大小,这有助于提高某些协议的性能,并控制回调函数被调用的频率及每次传递的数据量。
590

被折叠的 条评论
为什么被折叠?



