首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想使用P2P构建一个去中心化的、类似reddit的系统。我应该基于什么现有的p2p库?

我想使用P2P构建一个去中心化的、类似reddit的系统。我应该基于什么现有的p2p库?
EN

Stack Overflow用户
提问于 2011-04-10 22:00:10
回答 3查看 1.8K关注 0票数 11

我想使用P2P构建一个去中心化的、类似reddit的系统。基本上,我希望保留reddit的基本功能,但将其去中心化,使其更加健壮,不受审查。这也将允许人们开发不同的客户端,以匹配他们想要的浏览方式。

你能推荐一些好的p2p库作为我工作的基础吗?它们应该是开源的,跨平台的,健壮的,易于使用的。我不太关心语言,我可以适应。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-12 04:51:24

免责声明:警告,在此自我推销!

你有没有考虑过JXTA最新的release?对于您想要做的事情,它可能已经足够了。另外,我们正在开发一个名为Chaupal的新P2P框架,但它还没有投入使用。

编辑

还有一种我称之为快速又脏的UDP解决方案(毕竟它并不是那么脏,我应该称之为最小化)。

  1. 只需实现一个具有公共地址的服务器,并开始侦听更新。位于NAT后面的
  2. 对等项联系服务器,服务器可以从收到的数据报中读取它们的私有IP地址如何被转换为公共IP地址。
  3. 您将该信息发送回对等项,后者可以将其转发给其他对等项。服务器还可以帮助在对等体之间交换此信息。然后,
  4. 对等体可以通过向这些转换后的地址发送数据报来直接(一对一)通信。

简单,易于实现,但不包括丢失的数据报,重放,无序等。(即TCP在IP堆栈级别为您解决的典型问题)。

票数 6
EN

Stack Overflow用户

发布于 2011-04-18 18:28:27

我还没有机会使用它,但Telehash似乎就是为这类应用程序而生的。Peer2Peer应用程序在处理防火墙的限制方面有一个特殊的挑战……由于Telehash是基于UDP的,所以它非常适合通过防火墙的hole-punching

static_rtti注释的编辑

如果代码速度是一个要求,libjingle在这方面有很多工作要做,但主要是针对XMPP的。你可以移植掉ICE代码的一部分,至少可以打洞。有关其实现的详细信息,请参阅libjingle architecture overview

票数 4
EN

Stack Overflow用户

发布于 2012-10-24 07:59:25

查看CouchDB。它是一个使用HTTP API的去中心化web应用程序平台。人们用它来创建"CouchApps“,这是一种分散的、基于CouchDB的应用程序,可以像病毒一样传播到其他CouchDB服务器。要编写CouchApps,您只需知道Javascript并学习CouchDB应用程序接口。您可以阅读此免费在线书籍了解更多信息:http://guide.couchdb.org

CouchDB的秘密武器是一种主到主复制协议,它让信息像病毒一样传播。当我参加第一次CouchConf时,他们通过举办一个“沙发派对”展示了这是多么高效(在这里,你有一个满是人的房间,模仿一个临时网络)。

此外,默认情况下,使CouchApp工作的所有代码都是在称为设计文档的特殊实体中公开的。

另外,我一直在考虑做一个类似的项目,但目前我没有太多的时间投入其中。愿上帝保佑我的孩子!

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

https://stackoverflow.com/questions/5612230

复制
相关文章

相似问题

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