我想在互联网上创建一个P2P应用程序。什么是最好的方法,或者如果没有一种方法可以很好地实现分散网络中其他节点的自动发现?
最佳答案
Grothoff and GauthierDickey项目(一个不受匿名检查的文件共享网络)的GNUnet研究了在没有任何中央主机列表的情况下引导p2p网络的问题。
他们发现,对于Gnutella(Limewire)网络,平均需要2500次连接尝试才能进行随机ip搜索,以找到对等方。
在他们的论文中,他们提出了一种方法,该方法将Gnutella的所需连接尝试减少为817,将E2DK网络的连接尝试减少为51。
通过为每个DNS组织创建p2p用户的统计资料来实现此目的,必须预先创建此小型(约100kb)发现数据库,并将其随p2p客户端一起提供。
关于networking - P2P应用程序中的自动发现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15956819/