MoleSter, o cómo hacer un cliente P2P en apenas 6 líneas

molester.jpg

¿Qué pasa cuando un grupo de programadores se propone realizar un cliente P2P ahorrando las máximas líneas de código posibles? Aparte de que nos queda el programa escrito más complicado que hayamos visto, también nos sale eso, un cliente para compartir archivos totalmente funcional escrito en Perl.

Ahora está en su versión 0.0.4, y por ahora ocupa 466 bytes, cifra nada despreciable, ¿Eh? Que hoy día el ahorrar espacio en nuestro disco duro es tan importante como hace cinco años… (Vale, ya dejo el sarcasmo)

El código es el siguiente, y sí, aunque parezca una locura, funciona a la perfección:

$/=$_;$,=shift;$w=$a=shift;$k{+shift}=1;socket S,2,1,6;bind S,&a;for(listen
S,5;$SIG{ALRM}=&i;m! (S+) ([e-i])([^/]*)/!s&&($k{$w=$1}=$,eq$`)&&&$2){alarm
9;(accept(C,S),alarm 0)?read C,$_,1e6:($_=”$, $a f”.shift)}sub i{}sub t{socket
C,2,1,6;$k{$w}&&=(connect C,&a)?print C”$, “.pop:0;close C}sub h{t”$_ i/”for
keys%k}sub a{$w=~/:/;pack’CxnC4x8′,2,$’,split’.’,$`}sub f{$w=$_,t”$1 $3/”for
keys%k}sub e{open C,’>’,$3;print C $’}sub g{open(C,'<‘,$3)&&t”$a e$3/”.<C>;&h}

Vía: aNieto2K

Compartir en Google Plus

Acerca de Daniel Piñas

  • WordPress Comentarios
  • Facebook Comentarios

3 comentarios

  1. Edward dice:

    bueno ahi esta el codigo, en donde se supone que debemos implementarlo para que funcione?

    Dudo que funcione muy bien que digamos por que una red p2p no se construye con 30 personas, pero vale la pena intentarlo entre amigos

  2. Daniel dice:

    Edward, yo comparto tu opinión, y también pongo en duda su funcionamiento, porque creo que más que hacer un P2P totalmente funcional, intentan hacer lo mínimo dentro del ámbito funcional, evitando así más código.

    Sobre su uso… Ahí me pierdo :P Habría que documentarse en la web oficial del proyecto.

  3. omar dice:

    men, donde pongo ese codigo …?