[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