IO::Select client iteratif
bonjour, j'essaie depuis quelque heures de faire un client iteratif en utilisant IO::Select, j'essaie de mettre en place cette solution en remplacement de l'utilisation de threads :? qui consomme beaucoup de ram pour pas grand chose :evilred: et dont la synchronisation n'est pas aisé du tout
voici mon code , qui ne marche pas
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| #!/usr/bin/perl -w
use IO::Select;
use IO::Socket;
my $lsn = IO::Socket::INET->new(
PeerAddr => "localhost",
Proto => "tcp",
PeerPort => 6000
);
$sel = new IO::Select( $lsn );
while(@ready = $sel->can_write) {
foreach $fh (@ready) {
if($fh == $lsn) {
# Create a new socket
$new = $lsn->accept;
$sel->add($new);
}
else {
# Process socket
# Maybe we have finished with the socket
$sel->remove($fh);
$fh->close;
}
}
} |
merci de votre aide !!!