| sharlaan | dans un livre (sur perl, logique), je suis tombé sur cet exemple :
 
 | Code : 
 #!/usr/bin/perluse Socket;socket(Serveur, PF_INET, SOCK_STREAM, getprotobyname('tcp'));setsockopt(Serveur, SOL_SOCKET, SO_REUSEADDR, 1);my $mon_adr = sockaddr_in(10, INADDR_ANY);bind(Serveur, $mon_adr) or die "N'a pas pu s'attacher au port 10 : $!";listen(Serveur, SOMAXCONN) or die "N'a pas pu ecouter au port 10 : $!";REQUETE:    while (accept(Client, Serveur)) {       if($pid_fils = fork) {            close Client;            next REQUETE;        }        defined($pid_fils) or die "fork impossible : $!";        close Serveur;        select(Client);        $| = 1;        my $entree = <Client>;        print Client "Affichage\n";        open(STDIN, "<<&Client" ) or die "impossible de dupliquer le client 1 : $!";        open(STDOUT, ">&Client" ) or die "impossible de dupliquer le client 2 : $!";        open(STDERR, ">&Client" ) or die "impossible de dupliquer le client 3 : $!";        system("bc -l" );        print "fini\n";        close Client;        exit;    }
 | 
 
j'ai donc supposé qu'il était complet et j'ai à peu pres compris le programme, mais  j'en doute car lors de la connexion à ce programme (via socket en telnet), j'ai cette erreur dans la console où j'ai lancé ce programme et ca kill la connexion telnet :
 
 | impossible de dupliquer le client 1 : Aucun fichier ou répertoire de ce type at fork.pl line 21, <Client> line 1. | 
 
 Vous auriez une idée sur la cause et comment le résoudre ?
  --------------- "Deux chose sont infinies, l'univers et la sotise humaine. Mais je ne suis pas sûr de ce j'affirme quant à l'univers." Albert Einstein
 
   |