-1

C# で利用可能な最大ダウンロード速度でダウンロードする必要があります。

FlashGet、IDM、およびその他のダウンロード マネージャーはできるようです。

4

3 に答える 3

3

魔法は複数の接続とhttpRangeヘッダーにあります。

ファイルのサイズが100MBだとします。10個の接続を開く予定です。したがって、接続ごとに10Mbをダウンロードします。ここでhttp接続を開き、同じファイルのダウンロードを開始しますが、10個の接続が10個の異なるセグメントに割り当てられます。

接続1は送信しますRange: bytes=0-1048575

接続2は送信しますRange: bytes=1048576-2097151

等々

于 2012-09-25T13:09:30.060 に答える
3

特別なことではありません。同じファイルへの複数のダウンロード接続を開き、セグメント化されたダウンロードを使用して、各接続がファイルから異なるバイト範囲を取得しているだけです。

詳細については、例を参照してください - http://www.ehow.com/how-does_4615524_download-accelerator-work.html

C# 側については、次のような既存の .NET プロジェクトを参照することをお勧めします - http://www.codeproject.com/Articles/21053/MyDownloader-A-Multi-thread-C-Segmented-Download-M

于 2012-09-25T13:01:46.907 に答える
1

TCP プロトコルでウィンドウ サイズを設定する必要があります。しかし、この未来は.netではサポートされていません

于 2012-10-20T05:20:39.477 に答える