我想使用P2P构建一个去中心化的、类似reddit的系统。基本上,我希望保留reddit的基本功能,但将其去中心化,使其更加健壮,不受审查。这也将允许人们开发不同的客户端,以匹配他们想要的浏览方式。
你能推荐一些好的p2p库作为我工作的基础吗?它们应该是开源的,跨平台的,健壮的,易于使用的。我不太关心语言,我可以适应。
发布于 2011-04-12 04:51:24
免责声明:警告,在此自我推销!
你有没有考虑过JXTA最新的release?对于您想要做的事情,它可能已经足够了。另外,我们正在开发一个名为Chaupal的新P2P框架,但它还没有投入使用。
编辑
还有一种我称之为快速又脏的UDP解决方案(毕竟它并不是那么脏,我应该称之为最小化)。
简单,易于实现,但不包括丢失的数据报,重放,无序等。(即TCP在IP堆栈级别为您解决的典型问题)。
发布于 2011-04-18 18:28:27
我还没有机会使用它,但Telehash似乎就是为这类应用程序而生的。Peer2Peer应用程序在处理防火墙的限制方面有一个特殊的挑战……由于Telehash是基于UDP的,所以它非常适合通过防火墙的hole-punching。
static_rtti注释的编辑
如果代码速度是一个要求,libjingle在这方面有很多工作要做,但主要是针对XMPP的。你可以移植掉ICE代码的一部分,至少可以打洞。有关其实现的详细信息,请参阅libjingle architecture overview。
发布于 2012-10-24 07:59:25
查看CouchDB。它是一个使用HTTP API的去中心化web应用程序平台。人们用它来创建"CouchApps“,这是一种分散的、基于CouchDB的应用程序,可以像病毒一样传播到其他CouchDB服务器。要编写CouchApps,您只需知道Javascript并学习CouchDB应用程序接口。您可以阅读此免费在线书籍了解更多信息:http://guide.couchdb.org
CouchDB的秘密武器是一种主到主复制协议,它让信息像病毒一样传播。当我参加第一次CouchConf时,他们通过举办一个“沙发派对”展示了这是多么高效(在这里,你有一个满是人的房间,模仿一个临时网络)。
此外,默认情况下,使CouchApp工作的所有代码都是在称为设计文档的特殊实体中公开的。
另外,我一直在考虑做一个类似的项目,但目前我没有太多的时间投入其中。愿上帝保佑我的孩子!
https://stackoverflow.com/questions/5612230
复制相似问题