2

Mainline DHTは BitTorrent で使用される DHT であり、KRPC と呼ばれる UDP を介した RPC プロトコルを実装しています。KRPC には、ここで概説されているエラー メッセージのサポートが含まれています。

なぜこれが必要なのですか?これは信頼性の低いプロトコルであるため、これらのメッセージが受信されるという保証はありません。

4

1 に答える 1

3

不正な形式のメッセージをノードに送信した場合、メッセージが受信されなかったふりをするのではなく、コードを修正できるように、そのノードがエラー メッセージを返すと役立つ場合があります。

すべてのノードがエラー メッセージで応答する場合、クライアント開発者は DHT 実装のバグを修正するのがはるかに簡単になります。

私の知る限り、libtorrent (rasterbar) と元の BitTorrent Mainline (python バージョン) のみが DHT でエラー コードを送信します。他のクライアントがそうする可能性はありますが、主に uTorrent はそうではありません。

アップデート:

エラー コードは、アトミック ライトに使用されるput/get 拡張で拡張されました。DHT のスロットを更新するとき、エラー メッセージは、スロットが読み取り、更新、書き込みの間に更新されたこと、および再試行する必要があることをライターに通知する場合があります。これは、仕様では CAS と呼ばれます (CPU 操作のコンペア アンド スワップにちなんで名付けられました)。

この拡張機能は、uTorrent、libtorrent、および Bleep でサポートされています。

于 2012-08-24T19:03:01.813 に答える