Pergunta

Depois de ler um pouco mais sobre como funcionam a Gnutella e outras redes P2P, eu queria iniciar meu próprio sistema ponto a ponto.Pensei que encontraria muitos tutoriais e diretrizes independentes de linguagem que poderiam ser aplicadas, mas me deparei com uma visão geral vaga e simplista.

Só consegui encontrar um código P2P muito pequeno e preciso que não fazia muito mais do que usar a arquitetura cliente/servidor em todos os usuários, o que não era realmente o que eu estava procurando.Eu queria algo parecido com Gnutella, mas não parece haver nenhum artigo aberto para ingressar na rede.

Foi útil?

Solução

Eu tive que escrever um cliente Gnutella básico em C# usando Web Services e acho que as notas de aula sobre o material P2P ainda estão disponíveis aqui e aqui.

Outras dicas

RFC 4981, com a sua enorme bibliografia, poderia ser um excelente ponto de partida.

Você pode ter mais sucesso pesquisando o Bittorrent. Acredito que o criador escreveu alguns artigos e parece que outros também.

BitTirano Bittorent.org, veja a seção de desenvolvedores

Não sei qual plataforma você está tentando usar, mas aqui está um artigo decente sobre o assunto para .NET.

Eu encontrei o Especificação não oficial do BitTorrent da TheoryOrg ser a melhor fonte online de informações sobre Bittorrent.Além disso, o código do Monotorrent é bastante simples e fácil de entender.Há também um projeto chamado "GCT" que implementa P2P estilo JGroups para ambientes LAN/Multicast, e seu código é igualmente fácil de entender (embora um pouco problemático).

Você pode tentar ler Gnutella2 e tente implementar mensagens.Para ler material conceitual você pode ler Sistemas Distribuídos de Andrew Tannenbaum.

Você pode dar uma olhada JXTA.A intenção era ser uma estrutura p2p genérica e independente de plataforma, em contraste com outras implementações p2p que geralmente têm um propósito muito específico (como Gnutella).

Não se deixe enganar pela aparência do Java, existem ligações disponíveis para C/C++/C#, mas os protocolos principais são implementados em XML, que deve ser traduzido para qualquer linguagem.

Você também pode baixar um livro grátis aqui.

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