in reply to Re: IO::Socket::INET file handler
in thread IO::Socket::INET file handler
use IO::Socket; use IO::Select; my $socket= new IO::Socket::INET ( LocalHost => 'localhost', LocalPort => 9000, Proto => 'tcp', Listen => SOMAXCONN, Reuse => 1); if (not defined $socket) { die "no server"; } my $sel= IO::Select->new($socket); print "Waiting for connections on port 9000\n"; my @ready; my $client; my $message; my $new; while (@ready= $sel->can_read) { foreach $client (@ready) { #client speaking if ($client == $socket) { #new client -> add client print "new client\n"; my $add= $client->accept; $sel->add($add); print "added\n"; } else { #old client print "old client \n"; $client->recv($message,256); print $client."\n"; $client->send($client); $client->recv($new, 256); print $new."\n"; $new->send("ok"); } } }
And this gives me something like:my $sock; my $message; my $socket= new IO::Socket::INET ( PeerHost => 'localhost', PeerPort => 9000, Proto => 'tcp'); if (not defined $socket) { die "no server"; } $socket->send("something"); $socket->recv($sock, 256); $socket->send($sock); $socket->recv($message, 256);
|
|---|