merci,

J'avais essay� ce code, mais le probleme est que le serveur ne traitait les 
donn�es recues du client2 une fois que le client1 etait deconnect�... Hors il 
doit recevoir et traiter les donn�es lorsque plusieurs clients sont 
simultan�ments connect�s.


Merci,

Julien


Le Dimanche 29 Mai 2005 21:42, datacorp a �crit�:
>     *
>
> #!/usr/bin/perl -w
> # serveur.pl  #
> ###############
> use IO::Socket;
>
> $server = IO::Socket::INET->new(
>     LocalPort => 1234,
>     Type      => SOCK_STREAM,
>     Reuse     => 1,
>     Listen    => 5
> ) or die "Cr�ation du serveur impossible.\n";
> print "D�marrage du serveur ..\n";
>
> while ($client = $server->accept()) {
>  print $client "Le serveur dit 'bonjour' au client !\n";
>
>  $pid = fork;
>  die "Je ne peux pas forker !" if ! defined ($pid);
>
>  if ($pid ==0) {
>  # c'est le processus enfant, charg� de l'�coute des clients
>  #############################################################
>    while ($ligne = <$client> ) {
>      print "client> $ligne";
>
>    }
>   } else {
>   # c'est le p�re qui pendant ce temps r�pond au client #
>   #######################################################
>    while ($ligne = <>) {
>      print $client $ligne;
>   }
>  }
> }
>
>
>     * _Code client comment�_
>
> #!/usr/bin/perl -w
> # client.pl  #
> ##############
> use IO::Socket;
>
> print "nom ou adresse IP du serveur (localhost par d�faut) ";
> $adresse = <>; chomp($adresse);
> $adresse= "localhost" if $adresse eq "";
>
> $socket = IO::Socket::INET->new(
>         PeerAddr => $adresse,
>         Proto => "tcp",
>         PeerPort => 1234
>         )
> or die "Connexion au serveur impossible.\n";
>
> $pid = fork;
> die "Je ne peux pas forker !" if ! defined ($pid);
>
> if ($pid ==0) {
>  # c'est le processus enfant, charg� de l'�mission au serveur
>  #############################################################
>     while ($ligne = <> ) {
>      print $socket $ligne;
>     }
> } else {
>   # c'est le p�re qui pendant ce temps �coute le serveur
>   #######################################################
>     while ($ligne = <$socket>) {
>      print "serveur> $ligne";
>     }
> }
>
> Maladrie Julien a �crit :
> >Salut,
> >
> >
> >Je sais que ce thread est un peu hors-sujet, mais vu que je ne trouve pas
> > de solution � mon probl�me je me suis d�cid� � poster i�i.
> >Je voudrais r�aliser un serveur en perl qui accepte plusieurs connexion
> >simultan�es et qui traiteraient les requetes par ordre d'arriv�e. J'ai
> >commenc� � utiliser Net::Server::PreFork; mais sans r�el succ�s.
> >
> >Merci de votre aide

-- 
Julien,

http://maladrie.homelinux.org

"If you want to travel around the world and be invited to speak |
at a lot of different places, just write a Unix operating system." 

(By Linus Torvalds)

Répondre à