2009-06-08 35 views

回答

19

扭曲是相當多的答案,任何在Python嚴重網絡相關的,但你真的要購買到做事的方式扭曲。它本質上不是一個P2P堆棧,它是一個事件循環,回調系統和網絡框架。

Divmod頂點目前沒有被維護,並且仍然相當艱難,當我試圖在幾年前使用它。

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系統。

2

我不知道這樣的事情存在,但我可以提供下列選項:

+0

感謝您的回答。但目前我絕對需要CPython。現在使用JXTA-C似乎太複雜了 – 2009-06-08 06:24:42

0

我引述從the Sun JXTA pages其中有2002年12月至今,

「JXTA項目有一個Java refe rence的實現可從download.jxta.org獲得,目前正努力在其他通用語言(包括C,Objective C,Perl,Ruby和Python)中添加參考實現。雖然Java實現最完整實現的JXTA協議,C實現(適用於Win32和Linux的)正在迅速接近完整的同一水平。」

+0

不幸的是,Python的實現還遠未完成 – 2009-06-08 06:26:24

-3

Stackless Python可能是你的興趣。

+0

我不確定這與P2P應用程序有何關係? – 2009-06-08 04:07:56

4
我能想到

最好的選擇,當然,是用twisted

Old version of BitTorrent用它建造的。這個鏈接是到最後,它使用扭曲稱爲版本。你可以學習,作爲一個起點。

有也Vertex。它是一個使用扭曲的庫,並允許帶防火牆繞過的p2p。

+0

看起來像Vertex鏈接現在無效 – Darek 2012-01-25 11:05:36

+0

@tdi是的,不幸的是,divmod服務器遭受了一些硬件問題,並沒有鏡像。我可以在http://launchpad.net/divmod上找到Vertex源代碼,但不是之前鏈接的文檔。如果您可以找到指向的新Vertex文檔網址,請告訴我,我會更新答案。謝謝。 – nosklo 2012-01-25 16:50:31

0

喜(從JXTA的最後兩個版本的爲Java 2.6 & 2.7領袖),

在Python中沒有已知的JXTA實現的。

如果有人想解決這個問題,首先應該瞭解JXTA 2.0協議。在線提供的Scribd實用JXTA II書籍應有助於理解該技術。

歡呼!

3

由於這個問題被問及後來的回答,ZeroMQ已經出現,我真的很喜歡它。 Python模塊被稱爲pyzmq。它使構建TCP套接字的過程變得不那麼笨重,特別是在處理Request> Respond以外的消息模式時,儘管它也是如此。對於基本服務器,p2p應用程序,消息傳遞,分佈式處理以及您的名字而言,這非常棒。