1

C# でファイル ダウンローダーを実装する必要があります。このダウンローダーはクライアント コンピューターで実行され、いくつかの条件に従っていくつかのファイルをダウンロードします。

私が持っている主な制限は、ダウンロード中にクライアントがおそらくオフラインになることです (場合によっては複数回)。そのため、次のことを行う必要があります。

1) ダウンローダーは、ネットワーク通信がなくなったことに気づき、ダウンロードを一時停止します。

2) ダウンローダは、通信が回復したらダウンロードを再開し、パッケージの収集を続行して、ローカル ディスクに既にダウンロードされているパッケージに追加します。

StackOverflow の以前の投稿を確認したところ、WebClient と WebRequest (継承クラスの 1 つを使用) の 2 つのオプションがあることがわかりました。私が指定した要件に基づいて、どちらを使用するかを誰かがアドバイスできるかどうか疑問に思っていました. 通信切断を検出するにはどうすればよいですか?

4

2 に答える 2

0

HTTP 要求を送信するにはSystem.Net.HttpWebRequestが必要であり、ファイルにアクセスするにはSystem.IO.FileStreamが必要です。必要な 2 つのメソッドは、HttpWebRequest.AddRangeFilestream.seek です。

HttpWebRequest.AddRange メソッドはバイト範囲ヘッダーをリクエストに追加し、range パラメーターは範囲の開始点を指定します。サーバーは、指定された範囲パラメーターから HTTP エンティティーのデータの末尾までのデータの送信を開始します。Filestream.seek メソッドを使用して、ストリーム内の現在の位置にアクセスします。

ソースと例

于 2013-05-14T01:56:18.463 に答える