Pergunta

Existe alguma biblioteca ou quadro para escrever aplicativos P2P em Python?

Eu sei que o cliente Bittorrent inicial foi escrito em Python. Eu estou procurando algo como JXTA mas para Python.

Foi útil?

Solução

torcido é praticamente a resposta para nada a sério rede-relacionados em Python, mas você realmente tem que comprar na maneira distorcida de fazer as coisas. Não é intrinsecamente uma pilha P2P, é um ciclo de eventos, sistema de retorno de chamada e estrutura de rede.

DIVMOD Vertex não está sendo mantido, e ainda era muito áspera quando eu tentei usá-lo há alguns anos.

CSpace pode ser o mais próximo do que você está procurando: "uma plataforma para seguro, descentralizado, pelo usuário comunicação com o usuário através da internet ". Ele abstrai o P2P e NAT de transferência para fora para que o seu aplicativo pode agir normalmente e não ser "uma aplicação P2P."

Da mesma forma, houve um sistema P2P de idade fora da Austrália chamado "The Circle" há alguns anos atrás, inteiramente escrito em Python, que tinha mensagens seguras P2P, bate-papo, compartilhamento de arquivos e outros recursos. 0.41c foi a última versão: http://savannah.nongnu.org/projects/circle/

Também a partir de meus favoritos:

http://entangled.sourceforge.net/ é complicado ", uma tabela hash distribuída (DHT) baseado em Kademlia, bem como uma implementação de espaço de tuplas peer-to-peer ".

http://khashmir.sourceforge.net/ é uma tabela Python distribuídos de hash, notável porque redes utilizando o protocolo Airhook, que é muito tolerante a falhas (concebido para ser utilizado por exemplo, através de redes celulares).

http://kenosis.sourceforge.net/ é um sistema Python P2P RPC.

Outras dicas

A melhor opção que eu posso pensar, é claro, é usar torcido .

Versão antiga do BitTorrent foi construído com isto. O link é para durar versão conhecido que usos torcida. Você pode estudar isso como um ponto de partida.

Há também Vertex . É uma biblioteca que usos torcido e permite p2p com bypass firewall.

Uma vez que esta pergunta foi feita e, posteriormente, respondeu: ZeroMQ surgiu, e eu realmente gosto dele. O módulo Python é chamado pyzmq. Isso torna o processo de construção de TCP soquetes forma menos desajeitado, especialmente quando se lida com outras Request> Respond padrões de mensagens, embora ele faz isso bem. É ótimo para servidores básicos, aplicativos P2P, mensagens, processamento distribuído, o nome dele.

Eu não sei se tal coisa um existe, embora eu posso oferecer as seguintes alternativas:

Cito as páginas Sun JXTA que têm uma dezembro 2002 data,

"Projeto JXTA tem uma implementação de referência Java disponível a partir download.jxta.org, e está atualmente trabalhando para adicionar implementações de referência em outros idiomas comuns, incluindo C, Objective C, Perl, Ruby e Python. Embora a implementação Java é a implementação completa a maioria dos protocolos JXTA, a implementação C (disponível para Win32 e Linux) está se aproximando rapidamente o mesmo nível de integridade. "

Hi (do líder das duas últimas versões do JXTA para Java 2.6 e 2.7),

Não existe nenhuma implementação conhecida de JXTA em Python.

Se alguém quiser resolver esta questão, deve-se aprender sobre a JXTA 2,0 protocolos em primeiro lugar. O Prático JXTA II livro disponível on-line para leitura no Scribd deve ajudar a compreender a tecnologia.

elogio!

Stackless Python pode ser do seu interesse.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top