Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Jack1987 en 5 Marzo 2009, 16:23 pm



Título: Como hago un p2p en Java???????
Publicado por: Jack1987 en 5 Marzo 2009, 16:23 pm
Hola a todos, necesito que alguien me diga como hacer un download p2p con java, y si hay libros o todo tipo de documentacion que me oriente, gracias.


Título: Re: Como hago un p2p en Java???????
Publicado por: genco en 5 Marzo 2009, 20:31 pm
Hola a todos, necesito que alguien me diga como hacer un download p2p con java, y si hay libros o todo tipo de documentacion que me oriente, gracias.


 primero te recomiendo que investigues la arquitectura p2p, cada aplicacion es un cliente y un servidor a la vez, es decir que tienes que usar sockets


Título: Re: Como hago un p2p en Java???????
Publicado por: Ragnarok en 6 Marzo 2009, 11:53 am
Anda que no hay opciones en java como para tener que usar sockets.

Sé que apache tenía cosas para redes, aunque no sé si era en jakarta o en commons.

Aparte de eso puedes echarle un vistazo al código de Azureus Vuze, o cualquier otro P2P que conozcas en java, aunque sea para ver qué librerías usan y pueden facilitarte la vida.


Título: Re: Como hago un p2p en Java???????
Publicado por: Shrick en 6 Marzo 2009, 13:57 pm
Haber primero y ante todo tienes que investigar como funciona un protocolo, mirate el FTP mismo, en el veras que las aplicaciones envian a traves de sockets mensajes, estos mensajes serviran para llamar a procedimientos.

Este podria ser un envio de mensajes para implementar la conexión entre clientes:

C1: ping C2
C2: OK
C1: get clients
C2: IP 68.76.254.23 100.234.34.22
C1: ping 68.76.254.23
C3 (68.76.254.23): OK
C1: ping 100.234.34.22
C4(100.234.34.22): OK

Tu para hacer esto tienes que combinar sockets con threads para hacer conexiones, recomiendo para transmisión de mensajes el TCP/IP (incluyendo hash de datos de archivo) y para envió de datos el UDP/IP.

No he profundizado demasiado pero esa es la idea, tienes que crearte un nuevo protocolo, te sera muy util el Wireshark, que te sniffa el tráfico de red y miras como se envia mensajes cuando te conectas a una web o entras en un FTP.


Título: Re: Como hago un p2p en Java???????
Publicado por: Ragnarok en 6 Marzo 2009, 15:07 pm
puff, tela para mirar wireshark.

Mejor busca librerías en java que te ayuden a hacer un p2p, porque a lo mejor está ya hecho. Hay librerías de tablas hash distribuidas y de montones de cosas. Y muchos p2p que son libres y están hechos en java...

Ya depende de cómo quieres que sea, si quieres intercambio de archivos Azureus es una buena opción, si quieres encontrarlos antes de intercambiarlos el protocolo de kademlia, etc.


Título: Re: Como hago un p2p en Java???????
Publicado por: Shrick en 6 Marzo 2009, 17:33 pm
Estoy de acuerdo que es mejor usar una librería, para encapsular toda la parte complicada, pero ha mi manera de ver (ojala me equivoque), los P2P en general no tienen un código muy extenso y complicado para leer así como así?, del emule por ejemplo estoy al 100% seguro porque he visto algo de code, aunque de un p2p en Java es cierto que no he mirado, pero el Azureus (Vuze) es de lo más completo (y complejo)...


Título: Re: Como hago un p2p en Java???????
Publicado por: Ragnarok en 6 Marzo 2009, 17:51 pm
Sí, hay que mirarlo con cuidado y con tiento para mirar la parte que interesa, por eso dije que lo mirara al menos para ver las librerías que usan (y, evidentemente, usar las mismas).