Je sais que ce thread est un peu hors-sujet, mais vu que je ne trouve pas d=
e=20
solution =E0 mon probl=E8me je me suis d=E9cid=E9 =E0 poster i=E7i.=20
Je voudrais r=E9aliser un serveur en perl qui accepte plusieurs connexion=20
simultan=E9es et qui traiteraient les requetes par ordre d'arriv=E9e. J'ai=
=20
commenc=E9 =E0 utiliser Net::Server::PreFork; mais sans r=E9el succ=E8s.
Merci de votre aide
=2D-=20
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."=20
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
datacorp
*
#!/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 with a subject of "unsubscribe". Trouble? Contact
*
#!/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 debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
#!/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 with a subject of "unsubscribe". Trouble? Contact
Maladrie Julien
merci,
J'avais essayé ce code, mais le probleme est que le serveur ne traitait l es données recues du client2 une fois que le client1 etait deconnecté... H ors 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)
merci,
J'avais essayé ce code, mais le probleme est que le serveur ne traitait l es
données recues du client2 une fois que le client1 etait deconnecté... H ors 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."
J'avais essayé ce code, mais le probleme est que le serveur ne traitait l es données recues du client2 une fois que le client1 etait deconnecté... H ors 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."