1

セグメント化されたダウンロードをサポートするダウンロード マネージャーを開発したいと考えています。だから、私は同じことをサポートするライブラリを探しています。Linux プラットフォームで利用できる、目的を果たすことができる最適なライブラリに関する提案をお願いします。

4

1 に答える 1

1

libcurlなど、カスタム HTTP ヘッダーをサポートするすべてのライブラリが機能します。

複数のスレッドを生成する必要があります。各スレッドで、Range要求ヘッダーのフィールドを設定して、このスレッドがダウンロードする必要があるファイルの部分を指定します。

特にlibcurlの場合、CURLOPT_RANGEオプションを使用して部分的なファイルのダウンロードを行うことができます。

libcurlドキュメントの説明を参照してください。

CURLOPT_RANGE

char * をパラメーターとして渡します。これには、必要な指定範囲が含まれている必要があります。X または Y を省略することができる "XY" の形式にする必要があります。HTTP 転送は、"XY,NM" のようにコンマで区切られた複数の間隔もサポートします。この種の複数の間隔を使用すると、HTTP サーバーは応答ドキュメントを分割して送信します (標準の MIME 分離技術を使用)。RTSP の場合、範囲のフォーマットは RFC 2326 セクション 12.29 に従う必要があります。RTSP の場合、バイト範囲は許可されません。代わりに、範囲は npt、utc、または smpte 形式で指定する必要があります。

範囲の使用を無効にするには、このオプションに NULL を渡します。

範囲は、HTTP、FTP、FILE (7.18.0 以降)、および RTSP (7.20.0 以降) 転送でのみ機能します。

于 2012-02-03T13:42:16.807 に答える