¿Por qué es difícil obtener una buena investigación sobre la programación Peer-to-Peer?

StackOverflow https://stackoverflow.com/questions/23738

Pregunta

Después de leer un poco más sobre cómo funcionan Gnutella y otras redes P2P, quise iniciar mi propio sistema peer-to-peer.Entré pensando que encontraría muchos tutoriales y pautas independientes del idioma que podrían aplicarse, sin embargo, me encontré con una descripción general vaga y simplista.

Sólo pude encontrar un código P2P muy pequeño y preciso que no hacía mucho más que usar la arquitectura cliente/servidor en todos los usuarios, lo cual no era realmente lo que estaba buscando.Quería algo como Gnutella, pero no parece haber ningún artículo abierto para unirse a la red.

¿Fue útil?

Solución

Tuve que escribir un cliente Gnutella básico en C# usando servicios web y creo que las notas de clase sobre el tema P2P todavía están disponibles. aquí y aquí.

Otros consejos

RFC 4981, con su enorme bibliografía, podría ser un muy buen punto de partida.

Es posible que tengas más éxito investigando Bittorrent. Creo que el creador ha escrito algunos artículos y parece que otros también.

BitTirano Bittorent.org, ver la sección de desarrolladores

No sé qué plataforma estás intentando utilizar, pero aquí tienes un artículo decente sobre el tema para .NET.

he encontrado el Especificación no oficial de BitTorrent de TheoryOrg ser la mejor fuente en línea de información sobre Bittorrent.Además, el código Monotorrent es bastante sencillo y fácil de entender.También hay un proyecto llamado "GCT" que implementa P2P estilo JGroups para entornos LAN/Multicast, y su código es igualmente fácil de entender (aunque tiene algunos errores).

Puedes intentar leer Gnutella2 e intentar implementar mensajes.Para leer material conceptual, puede leer Sistemas distribuidos de Andrew Tannenbaum.

Puedes echar un vistazo a JXTA.Su intención era ser un marco p2p genérico e independiente de la plataforma, en contraste con otras implementaciones p2p que generalmente tienen un propósito muy específico (como Gnutella).

No se deje engañar por su apariencia de Java, hay enlaces disponibles para C/C++/C#, pero los protocolos principales están implementados en XML, que debería traducirse a cualquier idioma.

También puedes descargar un libro gratis. aquí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top