gpt4 book ai didi

json - BitTorrent KRPC 使用 BEncode 而不是 BSON 背后的原因是什么?

转载 作者:行者123 更新时间:2023-12-04 20:50:17 26 4
gpt4 key购买 nike

Mainline DHT , 用于 BitTorrent为了分发对等点列表,实现了一个称为 KRPC 的自定义 RPC 协议(protocol)。 KRPC 由 BEncoded 字典组成,它们本质上是一种更紧凑的 JSON 形式。

使用 BEncode 比 BSON (甚至只是压缩数据)有什么好处吗?

最佳答案

我怀疑 bencode出于历史原因而被使用,以减轻希望实现 DHT 扩展的开发人员的负担。由于所有 BitTorrent 客户端都必须有一个有效的 bencode使用 torrent 文件(元数据的简单编码字典)的实现,使用 bencode 实现 DHT不需要新的项目依赖项。

另外,考虑到 DHT 正在使用 bencode以及二进制编码。其中,26 字节节点标识符字符串(20 字节用于节点 ID,6 字节用于 ipv4 地址/端口)被存储为二进制字符串(参见:http://bittorrent.org/beps/bep_0005.html#contact-encoding),因此实际上已经存在正在发生的一些最小的数据压缩。

关于json - BitTorrent KRPC 使用 BEncode 而不是 BSON 背后的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11514171/

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