所以基本上我想写一个能够向所有节点发送短信的P2P软件,有点像IRC。我建议使用什么样的网络?我看了很多DHT Kademlia,它似乎很容易实现,但它似乎对我想做的事情没什么用处?例如,Skype使用什么样的协议?
编辑:我忘了提及,它不一定是即时通讯,几分钟的延迟是可以接受的。我不认为我可以不断尝试每隔五分钟或每个节点上的某个东西获取与当前时间相对应的数据吗?
答案 0 :(得分:1)
你说“所有节点”。
如果你想要广播功能我建议使用Freepastry。看看这里的抄写教程。 https://trac.freepastry.org/wiki/tut_scribe
我使用免费糕点作为文件共享应用程序并进行了相当多的性能测试。它非常容易实现,非常可靠。根据我的经验,效果很好。
答案 1 :(得分:0)
我建议使用哪种网络?
如果Java是您的选项,那么您应该调查JXTA并传播消息。
我看过一些关于DHT Kademlia的内容,看起来很容易实现,但它对我想做的事情似乎没什么用处?
DHT会告诉您信息的位置(即哪个节点),但不会告诉您如何访问和传输信息。后一个问题非常技术性,涉及NAT遍历和TURN或STUNT P2P实现。