2009-06-08 41 views

Trả lời

19

Xoắn là khá nhiều câu trả lời cho bất cứ điều gì nghiêm túc liên quan đến mạng trong Python, nhưng bạn thực sự phải mua vào cách Twisted làm việc. Nó không thực sự là một chồng P2P, nó là một vòng lặp sự kiện, hệ thống gọi lại và khung mạng.

Divmod Vertex hiện không được duy trì và vẫn khá thô khi tôi thử sử dụng nó vài năm trước.

CSpace có thể gần nhất với những gì bạn đang tìm kiếm: "nền tảng cho truyền thông an toàn, phi tập trung, người dùng với người dùng qua internet". Nó tóm tắt các P2P và NAT traversal ra để ứng dụng của bạn có thể hoạt động bình thường và không phải là "một ứng dụng P2P." Tương tự, có một hệ thống P2P cũ ở Úc được gọi là "The Circle" cách đây vài năm, được viết hoàn toàn bằng Python, có thông điệp P2P an toàn, trò chuyện, chia sẻ tệp và các tính năng khác. 0.41c là phiên bản cuối cùng: http://savannah.nongnu.org/projects/circle/

Cũng từ bookmark của tôi:

http://entangled.sourceforge.net/ được Vướng vào ", một bảng băm phân tán (DHT) dựa trên Kademlia, cũng như thực hiện không gian tuple peer-to-peer. "

http://khashmir.sourceforge.net/ là bảng băm được phân phối bằng Python, đáng chú ý vì mạng sử dụng giao thức Airhook, rất dễ chịu lỗi (được thiết kế để sử dụng, ví dụ: qua mạng di động).

http://kenosis.sourceforge.net/ là hệ thống RPC Python P2P.

+0

Divmod Vertex đã thấy một chút bảo trì gần đây. Bây giờ bạn có thể tìm thấy nó tại http://github.org/twisted/vertex –

+0

@ Jean-Paul Calderone là Vertex một khuôn khổ làm việc cho ứng dụng p2p hay chỉ trong lý thuyết? Tài liệu tập trung nhiều hơn vào triết học hơn là hướng dẫn thực sự. – PieOhPah

2

Tôi không biết nếu một điều như vậy tồn tại, mặc dù tôi có thể cung cấp các phương thức sau:

+0

Cảm ơn câu trả lời. Nhưng hiện tại tôi hoàn toàn cần CPython. Sử dụng JXTA-C có vẻ quá phức tạp cho đến bây giờ –

0

tôi trích dẫn từ the Sun JXTA pages có ngày tháng 12 năm 2002,

"Dự án JXTA có Java refe thực hiện rence có sẵn từ download.jxta.org và hiện đang làm việc để thêm các triển khai tham chiếu bằng các ngôn ngữ phổ biến khác, bao gồm C, Objective C, Perl, Ruby và Python. Mặc dù việc thực hiện Java là việc thực hiện hoàn thành hầu hết các giao thức JXTA, việc thực hiện C (có sẵn cho cả Win32 và Linux) đang đến rất nhanh cùng một mức độ đầy đủ ".

+0

Thật không may, việc thực hiện Python là xa hoàn thành –

-3

Stackless Python có thể quan tâm đến bạn.

+0

Tôi không chắc chắn làm thế nào điều này liên quan đến các ứng dụng P2P? –

4

lựa chọn tốt nhất tôi có thể nghĩ, tất nhiên, là sử dụng twisted.

Old version of BitTorrent được xây dựng với nó. các liên kết là để kéo dài phiên bản tiếng có sử dụng xoắn. ​​Bạn có thể nghiên cứu đó như là một điểm khởi đầu.

có cũng Vertex. Nó là một thư viện sử dụng xoắn và cho phép p2p với tường lửa bỏ qua.

+0

có vẻ như liên kết Vertex không hợp lệ bây giờ – Darek

+0

@tdi yeah, rất tiếc máy chủ divmod đã gặp phải một số vấn đề về phần cứng và không có máy nhân bản. Tôi có thể tìm thấy mã nguồn Vertex tại http://launchpad.net/divmod nhưng không tìm thấy tài liệu mà tôi đã liên kết trước đó. Nếu bạn có thể tìm thấy một url tài liệu Vertex mới để trỏ đến, hãy cho tôi biết, tôi sẽ cập nhật câu trả lời. Cảm ơn. – nosklo

0

Hi (từ lãnh đạo của hai phiên bản cuối cùng của JXTA cho Java 2,6 & 2.7),

Không có thực hiện được biết đến của JXTA bằng Python.

Nếu có ai muốn giải quyết vấn đề này, trước tiên bạn nên tìm hiểu về giao thức JXTA 2.0. Cuốn sách JXTA II thực tế có sẵn trực tuyến để đọc tại Scribd sẽ giúp hiểu công nghệ.

Cổ vũ!

3

Vì câu hỏi này được hỏi và sau đó được trả lời, ZeroMQ đã xuất hiện và tôi thực sự thích nó. Mô đun Python được gọi là pyzmq. Nó làm cho quá trình xây dựng các socket TCP cách ít clunky, đặc biệt là khi giao dịch với các mẫu message khác với Request> Respond, mặc dù nó cũng làm như vậy. Nó tuyệt vời cho các máy chủ cơ bản, ứng dụng p2p, nhắn tin, xử lý phân tán, bạn đặt tên cho nó.

Các vấn đề liên quan