I am coding for a server. After server is reading a particluar port,
How can I create handles for them and distinguish them individually
#!/usr/local/bin/perl -w
use strict;
use IO::Socket;
use IO::Select;
use IO::Handle;
# create a socket to listen to a port
my $listen = IO::Socket::INET->new(Proto => 'tcp',
LocalPort => 2323,
Listen => 1,
Reuse => 1) or die $!;
# to start with, $select contains only the socket we're listening on
my $select = IO::Select->new($listen);
my @ready;
# wait until there's something to do
while(@ready = $select->can_read)
{
my $socket;
# handle each socket that's ready
for $socket (@ready)
{
# if the listening socket is ready, accept a new connection
if($socket == $listen)
{
my $new = $listen->accept;
$select->add($new);
print "Select= $select, \n";
print $new->fileno. ": connected\n";
}
else
{
# otherwise, read a line of text and send it back again
my $line="";
$socket->recv($line,80);
print "\nReceived at Server:$line";
$line ne "" and $socket->send($line) or do
{
# either can't send or can't receive, so they must have hung up
print $socket->fileno . ": disconnected\n";
$select->remove($socket);
$socket->close;
exit;
};
}
}
}