我想使用BitTorrent DHT文库作为C程序中的分布式哈希表。因此,我下载并编译在我的机器工作无懈可击。现在我有了一个可执行的dht示例,它输出:
Usage: dht-example [-q] [-4] [-6] [-i filename] [-b address]...
port [address port]...我能用这个例子做什么?如何使用DHT:连接分布式机器,填充它或从它读取哈希表?
谢谢阿奇姆
发布于 2021-04-27 19:37:35
dht-example.c是上述DHT库中提供的一个极简示例。
在运行make进行编译之后,您应该运行./example-dht 6882 67.215.246.10 6881。这将在本地端口6882上打开一个监听UDP套接字,用于与DHT网络对话。
但是,在您的新对等方能够连接到网络之前,它至少需要一个连接的对等点,才能从中获得更多的对等点。这就是第三个和第四个参数/参数生效的地方。它是网络上一个已知的好节点的IP地址和端口组合,在本例中是router.bittorrent.com。这个过程被称为引导。
该程序不接受来自标准输入的指令,而是通过内核信号SIGINT、SIGUSR1和SIGUSR2。使用kill -L列出计算机上的信号号码,然后在example-dht运行时命令ps aux | grep example-dht以获得example-dht的进程ID。
为了开始搜索用dht-example.c硬编码的info散列的对等点,发出命令kill -XX YYYYY,其中XX是SIGUSR1信号的编号,YYYYY是dht-example的进程ID。观察dht-example程序的标准输出。
为了在我们的桶和桶0中转储其他节点,发出命令kill -XX YYYYY,其中XX是SIGUSR2信号的数目,YYYYY是dht-example的进程ID。观察dht-example程序的标准输出。
为了停止dht-exmample,发出命令kill -XX YYYYY,其中XX是SIGINT信号的数目,YYYYY是dht-example的进程ID。观察dht-example程序的标准输出。
https://stackoverflow.com/questions/32889851
复制相似问题