BitTorrent クライアント実装 その1

ビットトレントプロトコル仕様書をひょんなことから見つけて
少し読んでみると案外いけそうだとおもったので、悩む前に手を動かしてみよう。
ちまちまとJavaで実装することに。

目標は

  • 自作ビットトレントクライアント。
  • WebStartとかで動かしたい。
  • あと、非アップロード対応とか、
  • あれとかそれとかいろいろ弄ってみたひ。


よーし。ぱぱつくってみちゃうぞー
途中で投げ出すかもしれないけどw


1.BenCoding(bee encoding)形式ファイル読み込みを実装

jsonとかに慣れ過ぎていて、この形式は斬新。
なかなか面倒くさいけれども何とかなった。
パースって本当に面倒くさい。

2.次はトラッカーとの通信を実装中

HttpUrlConnection クラスを使用して実装していたけれどもどうもうまくいかない。
しょうがないので自力でソケット通信したら何とかレスポンスが返るようになった。
ただ、SHA1 の hash_id がうまく計算できていないようで
「d14:failure reason63:Requested download is not authorized for use with this tracker.12:min intervali7200ee」とエラーレスポンスが返ってきてしまう。


心が折れなければ つづく?かも。