[Cascavel-pm] Multiplas portas em IO::Socket::INET

Agnaldo Macedo agnaldo em starweb-software.com.br
Sábado Julho 10 12:09:29 PDT 2010


Estou usando algo como o código abaixo para ler uma porta.
Minha dúvida.
Tem como ler uma faixa de portas?



use warnings;
use strict;
use IO::Socket;

$| = 1;

my $porta    = '9999';
my $telefone = '999999999999';
my $retorno  = '';
my $linha    = '';
my $new_sock = '';

my $DIRTEMP = 'c:/temp/log';
my $arquivo = $DIRTEMP."/arquivo.log";

my $sock = new IO::Socket::INET (
     LocalPort => $porta,
     Type      => SOCK_STREAM,
     Proto     => 'tcp',
     Listen    => 10
);
die "Não consegui iniciar o servidor: $!\n" unless $sock;
print "Servidor iniciado ...\n";

while (my $new_sock = $sock->accept()) 
   {
      while(my $data = <$new_sock>) 
         {
            (my $sec,my $min,my $hour,my $mday,my $mon,my $year,my $wday,my $yday,my $isdst)=localtime(time);
            my $dataHoraT = sprintf("%4d-%02d-%02d %02d:%02d:%02d",($year + 1900),($mon + 1),$mday,$hour,$min,$sec);
            my $dataHoraA = sprintf("%4d-%02d-%02d|%02d:%02d:%02d",($year + 1900),($mon + 1),$mday,$hour,$min,$sec);
            
            print $dataHoraT.' '.$telefone."\n";
            
            open (OUTFILE,">>$arquivo");
            print OUTFILE $dataHoraA.'|'.$telefone.'|'.$data."\n";
            close (OUTFILE);
            
            $data     = 'NULO';
            $new_sock = 'NULO';
         }
   }
close($sock);


-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/cascavel-pm/attachments/20100710/a7ffa4a6/attachment.html>


Mais detalhes sobre a lista de discussão Cascavel-pm