首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用DHT库dht-example.c用于分布式哈希表

如何使用DHT库dht-example.c用于分布式哈希表
EN

Stack Overflow用户
提问于 2015-10-01 14:15:41
回答 1查看 655关注 0票数 0

我想使用BitTorrent DHT文库作为C程序中的分布式哈希表。因此,我下载并编译在我的机器工作无懈可击。现在我有了一个可执行的dht示例,它输出:

代码语言:javascript
复制
Usage: dht-example [-q] [-4] [-6] [-i filename] [-b address]...
                   port [address port]...

我能用这个例子做什么?如何使用DHT:连接分布式机器,填充它或从它读取哈希表?

谢谢阿奇姆

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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。这个过程被称为引导。

该程序不接受来自标准输入的指令,而是通过内核信号SIGINTSIGUSR1SIGUSR2。使用kill -L列出计算机上的信号号码,然后在example-dht运行时命令ps aux | grep example-dht以获得example-dht的进程ID。

为了开始搜索用dht-example.c硬编码的info散列的对等点,发出命令kill -XX YYYYY,其中XXSIGUSR1信号的编号,YYYYYdht-example的进程ID。观察dht-example程序的标准输出。

为了在我们的桶和桶0中转储其他节点,发出命令kill -XX YYYYY,其中XXSIGUSR2信号的数目,YYYYYdht-example的进程ID。观察dht-example程序的标准输出。

为了停止dht-exmample,发出命令kill -XX YYYYY,其中XXSIGINT信号的数目,YYYYYdht-example的进程ID。观察dht-example程序的标准输出。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32889851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档