gpt4 book ai didi

networking - BitTorrent Mainline DHT 使用的不可靠的 RPC 协议(protocol)中错误消息的必要性是什么?

转载 作者:行者123 更新时间:2023-12-04 05:34:41 26 4
gpt4 key购买 nike

Mainline DHT是 BitTorrent 使用的 DHT,它在 UDP 上实现了一个称为 KRPC 的 RPC 协议(protocol)。 KRPC 包括对错误消息的支持 outlined here .

为什么这是必要的?由于这是一个不可靠的协议(protocol),因此无法保证会收到这些消息,也无法保证它们没有明显的用途。

最佳答案

如果您向节点发送格式错误的消息,该节点返回错误消息可能会有所帮助,以便您可以修复代码,而不是假装未收到消息。

如果每个节点都会响应错误消息,客户端开发人员将更容易修复其 DHT 实现中的错误。

据我所知,只有 libtorrent (rasterbar) 和原始的 BitTorrent Mainline (python 版本) 在 DHT 中发送错误代码。其他客户端可能会这样做,但主要是 uTorrent 不会。

更新:

错误代码在 put/get extension 中进行了扩展用于原子写入。当更新 DHT 中的插槽时,错误消息可能会通知编写器该插槽在读取-更新-写入之间进行了更新,并且应该重试。这在规范中称为 CAS(以 CPU 操作比较和交换命名)。

uTorrent、libtorrent 和 Bleep 支持此扩展。

关于networking - BitTorrent Mainline DHT 使用的不可靠的 RPC 协议(protocol)中错误消息的必要性是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12108107/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com