编写P2P应用程序的Python库/框架

2024-05-14 22:30:30 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有用Python编写P2P应用程序的库或框架?

我知道最初的Bittorrent客户端是用Python编写的。我看起来有点像JXTA但不是Python。


Tags: 框架应用程序客户端p2pbittorrentjxta
3条回答

自从这个问题被提出并随后被回答之后,ZeroMQ就出现了,我真的很喜欢它。Python模块称为pyzmq。它使构建TCP套接字的进程不那么笨拙,特别是在处理除Request>;Respond以外的消息模式时,尽管它也这样做。它对基本服务器、p2p应用程序、消息传递、分布式处理非常有用。

Twisted几乎是Python中任何与网络相关的严肃问题的答案,但是您必须接受Twisted的工作方式。它本质上不是一个P2P堆栈,而是一个事件循环、回调系统和网络框架。

Divmod Vertex目前还没有被维护,几年前我尝试使用它时,它仍然非常粗糙。

CSpace可能是最接近你所寻找的:“一个在互联网上进行安全、分散、用户对用户通信的平台。”它将P2P和NAT的遍历抽象出来,这样你的应用程序就可以正常运行,而不是“P2P应用程序”

类似地,几年前澳大利亚有一个叫做“圈子”的旧P2P系统,完全用Python编写,它具有安全的P2P消息、聊天、文件共享等功能。0.41c是最后一个版本:http://savannah.nongnu.org/projects/circle/

也来自我的书签:

http://entangled.sourceforge.net/纠缠在一起,“一个基于Kademlia的分布式哈希表(DHT),以及一个对等元组空间实现。”

http://khashmir.sourceforge.net/是一个Python分布式哈希表,值得注意的是它使用Airhook协议的网络,这是非常容错的(设计用于例如在蜂窝网络上)。

http://kenosis.sourceforge.net/是一个Python P2P RPC系统。

当然,我认为最好的选择是使用twisted

Old version of BitTorrent就是用它建造的。链接指向使用twisted的最新已知版本。你可以以此为出发点来研究。

还有Vertex。它是一个使用twisted的库,允许p2p绕过防火墙。

相关问题 更多 >

    热门问题