関連性
映画を見たいとしましょう。 通常、このためにダウンロードする必要があります。 ただし、表示するために必要なのは、ファイルの特定のセクションのみです。 それで、なぜそれが完全に起動するまで待つのですか?!
そのため、LiveDCが誕生しました。 私はp2pコンテンツを消費するプロセスから不要なものをすべて削除しようとしました。 クライアントは、ファイルをダウンロードする場所を選択し、できるだけ早くファイルへのアクセスを提供します。
仕事の仕組み
クライアントは、p2pネットワークからのファイルが置かれているシステムに仮想「ハードディスク」を作成します。 これにより、システムへのダウンロードが完了するまで、ファイルへのアクセスを提供できます。 アプリケーションとシステムは通常のファイルを参照し、そのファイルへのすべての要求はDCクライアントを通過します。 データが既にダウンロードされている場合、それらは応答として送信されます。それ以外の場合、クライアントは要求されたセグメントに高い優先度を設定し、ダウンロードされるまで待機します。
ファイルの種類は関係ありません。 たとえば、イメージをマウントし、まだロード中にプログラムまたはゲームのインストールを開始できます。
Dokanライブラリは、仮想ディスクの操作を担当します。 ファイルシステム用のドライバーと、.NETで使用するためのラッパーを提供します。
DC機能は、 SharpDCライブラリによって提供されます。 興味深い場合は、次の記事で説明できます。
インターフェース
プログラムは、マグネットリンクのディレクトリで動作するように設計されています。 起動後、プログラムは、ブラウザから、magnet:フォームのリンクをインターセプトします。
そのため、クライアントインターフェイスは実質的に存在しません。
通知領域のアイコンをクリックすると、メインウィンドウが表示されます。
以下は最近追加された3つのファイルです。 さらに、ここで設定に移動するか、ハブの検索を開くことができます。 はい、DropBoxユーザーはなじみのあることに気付くでしょう。
LiveDCは、ハブを介して検索する機能を提供します。 現在、ボールにファイルを追加することはできませんが、クライアントはダウンロードしたファイルを配布します。
LiveDCは起動すると、マグネットリンクの処理を開始し、仮想ディスク(L:\)を作成します。ここで、クライアントを介して開かれたすべてのファイルを見つけることができます。 最後の3つのファイルは、通知領域のプログラムアイコンをクリックすると表示されます。
マグネットリンクをクリックすると、ウィンドウが表示されます。
クライアントは利用可能なすべてのハブを検索し、接続を確立してダウンロードを開始しようとします。 ダウンロードが開始されると、ファイルを開くことができます。
結論として
プログラムはVisual Studio 2012のC#で記述されています。
プログラムの開発は趣味です。 現時点では、クライアントはベータ版の状態です。 プログラムはドライバーを使用するため、エラーが発生してもBSODは除外されません。 使用する前に重要な文書を保存してください。
ダウンロード(1.9 Mb)
「自分のために」やりたいことはすべてプログラムに実装されました。 製品に関するあなたの意見を聞くことは非常に興味深いです。 LiveDCをさらに開発し、関数で「計量」する価値はありますか?