Есть ли способ предотвратить буферизацию libcurl? - PullRequest
0 голосов
/ 26 июня 2018

Я использую libcurl с CURLOPT_WRITEFUNCTION для загрузки определенного файла.

Я запрашиваю определенный размер буфера, используя CURLOPT_BUFFERSIZE.

Когда моя функция обратного вызова вызывается в первый раз, и я получаю околостолько байт, тем больше данных фактически загружено.

Например, если я запрашиваю 1024 байта данных, когда я впервые получаю это, процесс уже использует 100 КБ данных (на основеподобные инструменты. Я вижу непрерывный поток данных и ACK в Wireshark), поэтому я предполагаю, что он загружает заранее и буферизует данные.

То, чего я пытаюсь достичь, - это возможность отменитьпоиск, основанный на первых нескольких порциях данных, без загрузки чего-либо ненужного.

Есть ли способ предотвратить такую ​​буферизацию и загружать следующий порцию данных только после того, как я закончу обработку текущего (илипо крайней мере, не для буферизации десятков и сотен килобайт)?

Я бы предпочелЭто решение не зависит от сервера, поэтому CURLOPT_RANGE здесь на самом деле не работает.

...