編集1:
トレント アプリケーションを構築します。異なるクライアントから同時にダウンロードしています。各ダウンロードはファイルの一部を表し、異なるクライアントには異なる部分があります。ダウンロードが完了したら、ファイル内の「空の」部分を見つけることで、今達成する必要がある部分を知る必要があります。
固定サイズのファイルを作成する 1 つの方法:
File.WriteAllBytes(@"C:\upload\BigFile.rar", new byte[Big Size]);
私のファイルを部分として表す Arr:
BitArray TorrentPartsState = new BitArray(10);
例えば:
ファイルサイズは100です。
TorrentPartsState[0] = true; // thats mean that in my file, from position 0 until 9 I **dont** need to fill in some information.
TorrentPartsState[1] = true; // thats mean that in my file, from position 10 until 19 I **need** to fill in some information.
コンピューター/アプリケーションがシャットダウンされた場合でも、BitArray に含まれているものを保存する効果的な方法を見つけました。私が考えた 1 つの方法は、xml ファイルを使用して、一部が完了するたびに更新することです。
賢明で効果的な解決策だとは思いません。他のアイデアはありますか?