- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想(通过 PHP)收集当前正在下载的 info_hashes 或搜索 DHT。
我见过 BTDigg 将 DHT 用于搜索引擎,我想做类似的事情。
此外,在获得哈希后,如何将哈希转换为种子文件以便获取标题等信息? (再次使用 PHP 通过 DHT)。
我先尝试研究 - Query DHT Server尝试通过 PHP 运行 DHT 查询,我尝试进行修改,但没有成功。我也试过 http://projects-deim.urv.cat/trac/p2pweb/browser/trunk/dht/dht_agg?rev=1但它给了我几个错误,经过多次修复后它仍然无法正常工作。
最佳答案
要实现 DHT 节点,您可能需要阅读 DHT 规范:
http://www.bittorrent.org/beps/bep_0005.html
它描述了消息格式。如果您不熟悉底层 DHT,您可能还需要阅读 kademlia 论文:
Kademlia: A Peer-to-peer Information System Based on the XOR Metric
在 DHT 上启动并运行后,您开始看到信息散列飞快地飞过,您需要实现一个 bittorrent 客户端。或者至少是为了建立对等连接并讨论 bittorrent 协议(protocol)的一个子集,这里描述了它:
http://www.bittorrent.org/beps/bep_0003.html
您通常只需要能够建立 TCP 连接和握手,就好像您什么都没有一样。然后,要下载元数据(或 .torrent 文件),您需要支持位于通用扩展协议(protocol)之上的 ut_metadata
扩展,如下所述:
http://www.bittorrent.org/beps/bep_0010.html
ut_metadata 扩展在此处描述:
http://www.bittorrent.org/beps/bep_0009.html
如果您拥有看到的散列元数据,那么您基本上应该已经设置好了。然后只需从 torrent 文件中提取和索引信息,例如名称、文件名、文件大小等(实际上,您最终只会得到 torrent 文件的信息词典,但这是重要的部分)。
鉴于这是一项相当多的工作,您可能想看看使用已经执行此操作的库,并以某种方式将它们拉入 php。例如,您可能想看看 libtorrent .
关于PHP DHT 信息哈希列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10066985/
请像我在您的 vps 中所做的那样,然后可能会重现该问题,请替换变量 $vps_ip在以下步骤中使用您的真实 vps ip。 wget https://saimei.ftp.acc.umu.se/d
好的,假设我有一个运行有 10 个客户端的 DHT,其中包含一堆数据。 恶意客户端运行我的程序的替代版本不是相对容易吗,这可能会对我的数据进行潜在的破坏性操作(例如替换 key 、删除 key 、更改
是否允许在 Mainline DHT 中的同一 ip:port 对后面运行多个不同的 DHT 节点? 哪个节点应该回复 DHT 查询消息? 全部还是其中之一? 先感谢您。 最佳答案 简短的回答是:其中
假设我只实现了 DHT(分布式哈希表)(在 Python 中),并且我想通过 P2P 网络构建身份验证服务,但没有引入具有此类服务的集中式身份验证服务器。可以做到吗,如果可以,我该如何实现? 我熟悉
在我的新周末项目中,我决定从头开始编写一个 bittorrent 客户端,根本没有准备好使用库。经过两天寻找文档,我已经准备放弃 :smile:。我知道有 BEPs , 但他们还远远不足以理解所有规范
我正在编写一个 P2P 实现,我希望将其去中心化。然而,我在掌握如何DHT时遇到了一些困难。在像 BitTorrent 这样的协议(protocol)中是有效的。 如果没有跟踪器,客户端如何知道对等点
我想(通过 PHP)收集当前正在下载的 info_hashes 或搜索 DHT。 我见过 BTDigg 将 DHT 用于搜索引擎,我想做类似的事情。 此外,在获得哈希后,如何将哈希转换为种子文件以便获
有人可以向我澄清主线 DHT 规范中的声明吗? Upon inserting the first node into its routing table and when starting up th
我正在尝试了解 Distributed Hash Table (DHT)范式,因为它适合 P2P 或完全分布式的计算架构。从理论的角度来看,一旦集群建立起来,它如何管理集群数据和分配工作就很有意义了。
我目前正在使用免费糕点 DHT 进行一些性能测试。 Freepastry 是一个用 Java 完成的开源 DHT。 目标是在一定数量的节点宕机时监控对 DHT 的影响。我的问题是我不确定消除节点的最佳
kademlia paper抽象地讨论桶的组织、拆分、合并和找到要插入的正确桶,concise和 confusing条款。 §2.2 讨论了一组固定的 160 个桶,每个桶覆盖键空间的一个固定子集。但
谁能解释一下 DHT 的工作原理吗? 没有什么太重的,只是基础知识。 最佳答案 好吧,它们本质上是一个非常简单的想法。 DHT 为您提供了类似字典的界面,但节点分布在整个网络中。 DHT 的技巧在于,
我正在尝试访问 Torrent DHT 网络,但我很难弄清楚如何访问 DHT 中的“入口”节点。 How does a DHT in a Bittorent client get "bootstrap
如果您创建使用分布式哈希表 (DHT) 的新应用程序,则需要引导 p2p 网络。我的想法是您可以加入现有的 DHT(例如 Bittorrent DHT)。 这可行吗?当然,我们假设技术相同。将 Cho
我从 wiki 中获得了关于 DHT 的基本概念: 存储数据: 在 DHT 网络中,每个节点负责 key-space 的特定范围。 .要将文件存储在 DHT 中,首先,hash the file's
我试图了解 DHT可用于解决我正在处理的问题: 我有一个交易环境,专业期权交易者可以通过要求其他交易者借给他们一些风险限额来提高他们的风险限额。借贷交易者可以搜索具有某些风险参数的交易者,这些参数是每
我一直在研究 libtorrent/rasterbar 的 python 绑定(bind)。我想做的是生成一个新的“node-id”并将其重新通知给其他节点。 我读到需要创建一个“编码词典”,并且我假
我最近正在学习 Bit-torrent 协议(protocol),并且我已经使我的脚本成功通过 DHT 协议(protocol)获取大量对等地址,具体取决于文档 bep_0005: http://ww
我正在阅读有关 DHT 的资料,但很难找到有关节点发生故障时 DHT 值的后果的信息。 据我所知,如果没有数据冗余(哈希表值),单个节点的故障只会使存储在该节点中的值不可用。但是,如果我想使用 DHT
我正在尝试让 monotorrent 的 dht 实现工作,但我似乎找不到任何同行。 我已经尝试了网络上可用的大部分示例代码,例如 testclient 和 dhttest。 我尝试了几种不同的信息哈
我是一名优秀的程序员,十分优秀!