Cual es mi IP
Cual es mi IP

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

16 de abril de 2007

¿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'CxnC4×8′,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

Autor: Daniel Piñas

Más información

Contenido relacionado

Otros contenidos de interés

Cargando...
x