[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS]Serveur en Perl



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)



Reply to: