Por que a programação ponto a ponto é um tópico difícil de obter boas pesquisas?
-
09-06-2019 - |
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.
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.
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.