Peer to Peerでダウンロードを進めるファイル転送プロトコル「BitTorrent」。不正なファイルのダウンロードに利用される事も多く悪いイメージがもたれがちですが、LinuxのISOファイルのダウンロードのように正しい用途でももちろん活用されています。
本日紹介するドキュメント「Building a BitTorrent client from scratch in C#」は、このBitTorrentのクライアントソフトをC#で作成する方法を解説したドキュメントです。
BitTorrentの歴史や用語の説明から始まり、ツールのセットアップ方法やテスト方法、ソースコードの各機能の説明まで一通り記載されています。
同資料では動作テスト用に既存のBitTorrentクライアントである「Deluge」を使用し、2つのVirtualBoxインスタンスでUbuntuを動かして、テスト環境を構築するところから解説を始めています。
もちろんソースコードに関する説明も抜かりがなく、トレントファイルやトレントの構造、トラッカーやピアの扱い方などBitTorrentクライアント作成に必要な一通りの知識が習得できるように工夫されています。
ドキュメントの仕上がりの良さからHacker Newsでも大きな話題となっています。BitTorrentクライアントを自作したい開発者の方必見のドキュメントといえそうです。