[Amusant] Un P2P en 15 lignes de code !

sebsauvage Messages postés 33415 Statut Modérateur -  
ssebounet Messages postés 163 Statut Membre -
D'accord, il n'est pas conçu pour travailler à grande échelle, mais il permet de créer de petits réseaux de P2P privés, et un système de recherche est inclu.

http://www.freedom-to-tinker.com/tinyp2p.html

Le programme peut fonctionner comme serveur ou comme client.

C'est fait en Python ;-)


Le code source est très moyennement lisible (usage abusif des lambda), mais ça peut se remettre en forme pour plus de lisibilité si on veut.

Je n'ai pas encore testé mais ça reste assez remarquable.
A voir également:

3 réponses

sebsauvage Messages postés 33415 Statut Modérateur 15 664
 
Un fou furieux a créé un autre logiciel de P2P en 6 lignes de perl:

http://ansuz.sooke.bc.ca/software/molester/
$/=$_;$,=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}



Des fois ils me font peur, quand même.
0
choubaka Messages postés 39986 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
c'est dingue quand même ...

Chouba,
Pochard d'assaut .. 
0
ssebounet Messages postés 163 Statut Membre 6
 
Vraiment fort les gars!!

Séb
0