0

ユーザーが指定したパーツ数 (n) でサーバーからファイルをダウンロードしようとしています。そのため、x バイトのファイルが n 個の部分に分割され、各部分がファイル全体の一部を同時にダウンロードします。これを実装するためにスレッドを使用していますが、以前に http を使用したことがなく、ファイルのダウンロードが実際にどのように機能するかをよく理解していません。私はそれを読んだところ、「Range」を使用する必要があるようですが、さまざまな部分をダウンロードして、データを破損することなくそれらを追加する方法がわかりません。

4

1 に答える 1

0

(宿題なのでヒントだけ出します)

単一のファイルに追加しても、データが台無しになるため、まったく役に立ちません。2 つの選択肢があります。

  • 各スレッドから個別の一時ファイルにダウンロードし、一時ファイルを正しい順序でマージして最終ファイルを作成します。これはおそらく想像しやすいですが、かなり醜く非効率的なアプローチです。

  • 通常のストリーム スタイルのセマンティクスに固執しないでください。ランダム アクセス ( 12 ) を使用して、各スレッドからのデータを出力ファイル内の正しい場所に直接書き込みます。

于 2012-02-13T01:43:12.573 に答える