*

#!/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


--
Pensez � lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez � rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Répondre à