J'essaye de coder un server en perl .
Et je suis confronté a une dificulter la lecture est bloquante.
Se qui m'empeche d'envoyer donnée dans que j'ai rien lu.
Je vois la solution comme ca .
j'ai bien pense a fair un fork pour la lecture et ecriture .
Mais le fork marche tres mal sous windows
while(1) {
Lecture de la socket pendant 1 a 2 sec
traitement des donner si quelque chose
Envois des donnée si quelle que chose dans le STDIN penant 1 a 2 sec
}
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
MeiK
J'essaye de coder un server en perl . Et je suis confronté a une dificulter la lecture est bloquante. Se qui m'empeche d'envoyer donnée dans que j'ai rien lu.
Je vois la solution comme ca . j'ai bien pense a fair un fork pour la lecture et ecriture . Mais le fork marche tres mal sous windows
while(1) { Lecture de la socket pendant 1 a 2 sec traitement des donner si quelque chose Envois des donnée si quelle que chose dans le STDIN penant 1 a 2 sec }
Boah tu peux aussi utiliser select afin de monitorer ta socket, et ne lire que si tu as des donnees a lire. http://www.perlfect.com/articles/select.shtml
-- Michael K. (epitech) http://etudiant.epitech.net/~meik/ "SoftIce est avant tout un desassembleur." E.D au proces en appel de Guillermito
J'essaye de coder un server en perl .
Et je suis confronté a une dificulter la lecture est bloquante.
Se qui m'empeche d'envoyer donnée dans que j'ai rien lu.
Je vois la solution comme ca .
j'ai bien pense a fair un fork pour la lecture et ecriture .
Mais le fork marche tres mal sous windows
while(1) {
Lecture de la socket pendant 1 a 2 sec
traitement des donner si quelque chose
Envois des donnée si quelle que chose dans le STDIN penant 1 a 2 sec
}
Boah tu peux aussi utiliser select afin de monitorer ta socket, et ne
lire que si tu as des donnees a lire.
http://www.perlfect.com/articles/select.shtml
--
Michael K. (epitech)
http://etudiant.epitech.net/~meik/
"SoftIce est avant tout un desassembleur."
E.D au proces en appel de Guillermito
J'essaye de coder un server en perl . Et je suis confronté a une dificulter la lecture est bloquante. Se qui m'empeche d'envoyer donnée dans que j'ai rien lu.
Je vois la solution comme ca . j'ai bien pense a fair un fork pour la lecture et ecriture . Mais le fork marche tres mal sous windows
while(1) { Lecture de la socket pendant 1 a 2 sec traitement des donner si quelque chose Envois des donnée si quelle que chose dans le STDIN penant 1 a 2 sec }
Boah tu peux aussi utiliser select afin de monitorer ta socket, et ne lire que si tu as des donnees a lire. http://www.perlfect.com/articles/select.shtml
-- Michael K. (epitech) http://etudiant.epitech.net/~meik/ "SoftIce est avant tout un desassembleur." E.D au proces en appel de Guillermito
Bastit Benoît
J'essaye de coder un server en perl . Et je suis confronté a une dificulter la lecture est bloquante. Se qui m'empeche d'envoyer donnée dans que j'ai rien lu.
Je vois la solution comme ca . j'ai bien pense a fair un fork pour la lecture et ecriture . Mais le fork marche tres mal sous windows
while(1) { Lecture de la socket pendant 1 a 2 sec traitement des donner si quelque chose Envois des donnée si quelle que chose dans le STDIN penant 1 a 2 sec }
Boah tu peux aussi utiliser select afin de monitorer ta socket, et ne lire que si tu as des donnees a lire. http://www.perlfect.com/articles/select.shtml
Yep j'ai enfin reusis Avec IO::Select;
Mon code pour tester si sa peut servir a quelqu'un :)
use IO::Socket; use IO::Select; $|++;
my $server = IO::Socket::INET->new(LocalPort => 7878, Listen => 20, Proto => 'tcp', Reuse => 1); die $! unless $server; while(1){ my $socket= $server->accept(); $socket->autoflush(1); $s = IO::Select->new(); $s->add($socket); $check=1;
# bloucle principal while($check){ my @ready = $s->can_read(.2); for my $sockread (@ready){ #boucle de lecture avec $handle si lecture my $data = <$sockread>; print $data . "n" ; } # code message si necessaire avec timing
} }
J'essaye de coder un server en perl .
Et je suis confronté a une dificulter la lecture est bloquante.
Se qui m'empeche d'envoyer donnée dans que j'ai rien lu.
Je vois la solution comme ca .
j'ai bien pense a fair un fork pour la lecture et ecriture .
Mais le fork marche tres mal sous windows
while(1) {
Lecture de la socket pendant 1 a 2 sec
traitement des donner si quelque chose
Envois des donnée si quelle que chose dans le STDIN penant 1 a 2 sec
}
Boah tu peux aussi utiliser select afin de monitorer ta socket, et ne
lire que si tu as des donnees a lire.
http://www.perlfect.com/articles/select.shtml
Yep j'ai enfin reusis Avec IO::Select;
Mon code pour tester si sa peut servir a quelqu'un :)
use IO::Socket;
use IO::Select;
$|++;
my $server = IO::Socket::INET->new(LocalPort => 7878, Listen => 20,
Proto => 'tcp', Reuse => 1);
die $! unless $server;
while(1){
my $socket= $server->accept();
$socket->autoflush(1);
$s = IO::Select->new();
$s->add($socket);
$check=1;
# bloucle principal
while($check){
my @ready = $s->can_read(.2);
for my $sockread (@ready){
#boucle de lecture avec $handle si lecture
my $data = <$sockread>;
print $data . "n" ;
}
# code message si necessaire avec timing
J'essaye de coder un server en perl . Et je suis confronté a une dificulter la lecture est bloquante. Se qui m'empeche d'envoyer donnée dans que j'ai rien lu.
Je vois la solution comme ca . j'ai bien pense a fair un fork pour la lecture et ecriture . Mais le fork marche tres mal sous windows
while(1) { Lecture de la socket pendant 1 a 2 sec traitement des donner si quelque chose Envois des donnée si quelle que chose dans le STDIN penant 1 a 2 sec }
Boah tu peux aussi utiliser select afin de monitorer ta socket, et ne lire que si tu as des donnees a lire. http://www.perlfect.com/articles/select.shtml
Yep j'ai enfin reusis Avec IO::Select;
Mon code pour tester si sa peut servir a quelqu'un :)
use IO::Socket; use IO::Select; $|++;
my $server = IO::Socket::INET->new(LocalPort => 7878, Listen => 20, Proto => 'tcp', Reuse => 1); die $! unless $server; while(1){ my $socket= $server->accept(); $socket->autoflush(1); $s = IO::Select->new(); $s->add($socket); $check=1;
# bloucle principal while($check){ my @ready = $s->can_read(.2); for my $sockread (@ready){ #boucle de lecture avec $handle si lecture my $data = <$sockread>; print $data . "n" ; } # code message si necessaire avec timing
} }
tfe
Utiliser $server->can_read($timeout) est preferable au while(1).
J'essaye de coder un server en perl . Et je suis confronté a une dificulter la lecture est bloquante. Se qui m'empeche d'envoyer donnée dans que j'ai rien lu.
Je vois la solution comme ca . j'ai bien pense a fair un fork pour la lecture et ecriture . Mais le fork marche tres mal sous windows
while(1) { Lecture de la socket pendant 1 a 2 sec traitement des donner si quelque chose Envois des donnée si quelle que chose dans le STDIN penant 1 a 2 s ec }
Boah tu peux aussi utiliser select afin de monitorer ta socket, et ne lire que si tu as des donnees a lire. http://www.perlfect.com/articles/select.shtml
Yep j'ai enfin reusis Avec IO::Select;
Mon code pour tester si sa peut servir a quelqu'un :)
use IO::Socket; use IO::Select; $|++;
my $server = IO::Socket::INET->new(LocalPort => 7878, Listen => 20, Proto => 'tcp', Reuse => 1); die $! unless $server; while(1){ my $socket= $server->accept(); $socket->autoflush(1); $s = IO::Select->new(); $s->add($socket); $check=1;
# bloucle principal while($check){ my @ready = $s->can_read(.2); for my $sockread (@ready){ #boucle de lecture avec $handle si lecture my $data = <$sockread>; print $data . "n" ; } # code message si necessaire avec timing
} }
Utiliser $server->can_read($timeout) est preferable au while(1).
J'essaye de coder un server en perl .
Et je suis confronté a une dificulter la lecture est bloquante.
Se qui m'empeche d'envoyer donnée dans que j'ai rien lu.
Je vois la solution comme ca .
j'ai bien pense a fair un fork pour la lecture et ecriture .
Mais le fork marche tres mal sous windows
while(1) {
Lecture de la socket pendant 1 a 2 sec
traitement des donner si quelque chose
Envois des donnée si quelle que chose dans le STDIN penant 1 a 2 s ec
}
Boah tu peux aussi utiliser select afin de monitorer ta socket, et ne
lire que si tu as des donnees a lire.
http://www.perlfect.com/articles/select.shtml
Yep j'ai enfin reusis Avec IO::Select;
Mon code pour tester si sa peut servir a quelqu'un :)
use IO::Socket;
use IO::Select;
$|++;
my $server = IO::Socket::INET->new(LocalPort => 7878, Listen => 20,
Proto => 'tcp', Reuse => 1);
die $! unless $server;
while(1){
my $socket= $server->accept();
$socket->autoflush(1);
$s = IO::Select->new();
$s->add($socket);
$check=1;
# bloucle principal
while($check){
my @ready = $s->can_read(.2);
for my $sockread (@ready){
#boucle de lecture avec $handle si lecture
my $data = <$sockread>;
print $data . "n" ;
}
# code message si necessaire avec timing
Utiliser $server->can_read($timeout) est preferable au while(1).
J'essaye de coder un server en perl . Et je suis confronté a une dificulter la lecture est bloquante. Se qui m'empeche d'envoyer donnée dans que j'ai rien lu.
Je vois la solution comme ca . j'ai bien pense a fair un fork pour la lecture et ecriture . Mais le fork marche tres mal sous windows
while(1) { Lecture de la socket pendant 1 a 2 sec traitement des donner si quelque chose Envois des donnée si quelle que chose dans le STDIN penant 1 a 2 s ec }
Boah tu peux aussi utiliser select afin de monitorer ta socket, et ne lire que si tu as des donnees a lire. http://www.perlfect.com/articles/select.shtml
Yep j'ai enfin reusis Avec IO::Select;
Mon code pour tester si sa peut servir a quelqu'un :)
use IO::Socket; use IO::Select; $|++;
my $server = IO::Socket::INET->new(LocalPort => 7878, Listen => 20, Proto => 'tcp', Reuse => 1); die $! unless $server; while(1){ my $socket= $server->accept(); $socket->autoflush(1); $s = IO::Select->new(); $s->add($socket); $check=1;
# bloucle principal while($check){ my @ready = $s->can_read(.2); for my $sockread (@ready){ #boucle de lecture avec $handle si lecture my $data = <$sockread>; print $data . "n" ; } # code message si necessaire avec timing