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)