1

私は現在、Erlang で BitTorrent クライアントに取り組んでいます。現在、ブロックをリクエストしてから、ダウンロードしたブロックからピースを構築して検証しようとしています。最後のピース (他のピースとはサイズが異なります) でない限り、すべてが機能します。最後のピースがダウンロードされたように見えますが、そのハッシュを torrent ファイルから取得したハッシュと一致させることができないようです。ここで解決策を求めているわけではないと思いますが、最後のピースのハッシュに関して特に覚えておくべきことがある場合は. ある?

4

1 に答える 1

1

いいえ、ありません。最後の部分は、小さいですが、他の部分と同じように SHA1 ハッシュされています。

私の推測では、最後のブロックやピースを正しく処理することにバグがあると思います。コードを一瞥してもうまくいかない場合、1 つの方法として、既知の torrent をテストし、受け取った部分と実際に受け取ったはずのものを比較することが考えられます。取得した最後のブロックを出力してファイルと比較することから始めます。

于 2010-12-01T14:50:19.950 に答える