Linux библиотека для сегментированной загрузки - PullRequest
1 голос
/ 03 февраля 2012

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

1 Ответ

1 голос
/ 03 февраля 2012

Любая библиотека, которая поддерживает пользовательские заголовки HTTP, например libcurl , будет работать.

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

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

См. Описание формы libcurl документация .

CURLOPT_RANGE

Передайте символ * в качестве параметра, который должен содержать указанный диапазон, который вы хотите. Он должен быть в формате «X-Y», где X или Y могут быть опущены. HTTP-передачи также поддерживают несколько интервалов, разделенных запятыми, как в «X-Y, N-M». Использование такого рода нескольких интервалов приведет к тому, что HTTP-сервер отправит ответный документ по частям (используя стандартные методы разделения MIME). Для RTSP форматирование диапазона должно соответствовать RFC 2326, раздел 12.29. Для RTSP диапазоны байтов не допускаются. Вместо этого диапазоны следует указывать в форматах npt, utc или smpte.

Передайте NULL этой опции, чтобы отключить использование диапазонов.

Диапазоны работают только для HTTP, FTP, FILE (начиная с 7.18.0) и RTSP (начиная с 7.20.0).

...