FORUM DARKERS

Tecnologia & Informática => Programação => Perl => Topic started by: Anonymous on 18 de June , 2006, 01:42:18 PM

Title: O básico do socket em perl
Post by: Anonymous on 18 de June , 2006, 01:42:18 PM
Abaixo um exemplo beeem simplificado de uma simples conexao em perl:

print "\nSocket Basico em Perl - by Sthealt\n";
print "\nServidor: ";
$servidor=<STDIN>;
chomp $servidor;
print "\nPorta: ";
$porta=<STDIN>;
chomp $porta;
print "\n[1] Declarando socket...";
use IO::Socket;
my $socket = new IO::Socket::INET (PeerAddr=>$servidor, PeerPort=>$porta, Proto=>TCP,);
print "\n[2] Verificando conexao...";
if (!$socket) { print "\nErro no socket: $!"; exit(1); } else { print "\nConectado..."; }
print "\n[3] Enviando requisicao...";
$socket->send("Ola\n");
print "\n[4] Fechando socket...";
close $socket;

Na linha: my $socket = new IO::Socket::INET (PeerAddr=>$servidor, PeerPort=>$porta, Proto=>TCP,);
Dentro dos parenteses, voce pode adicionar o comando: Timeout=>tempo
Que é o tempo maximo em milisegundos para o host responder. Alem desses a outros varios, como listen, reuse. Mas não os domino direito então fica pra próxoma.
Title: Re: O básico do socket em perl
Post by: rodweb on 20 de June , 2006, 12:13:10 PM
legal kra, vai ajudar ;)
Title: Re: O básico do socket em perl
Post by: Shady on 20 de June , 2006, 01:45:42 PM
Sthealt, sabe como faco pra nao fechar a conexao apos o primeiro send() do cliente, e aguardar por dados vindos do servidor?
Title: Re: O básico do socket em perl
Post by: slul on 20 de June , 2006, 02:26:42 PM
Quote from: "Shady"Sthealt, sabe como faco pra nao fechar a conexao apos o primeiro send() do cliente, e aguardar por dados vindos do servidor?

eu nao conheco perl mas acho que isso nao funciona não shady...

acho que você tem que ter uma conexao estabelecida com o servidor para receber os dados dele

abraços!

acho q soh dah pra fechar a conexaodepois do recebimento
Title: Re: O básico do socket em perl
Post by: Shady on 21 de June , 2006, 11:10:19 PM
Na verdade slul, quando se coda sockets em perl, o socket tem que ser "fechado" e outro tem que ser aberto... a conexao em si nunca morre.
Title: Re: O básico do socket em perl
Post by: OnlyOne on 23 de June , 2006, 11:58:12 PM
cria um loop para envio de msgs ao servidor e nao feche o socket , deve funcionar
Title: Re: O básico do socket em perl
Post by: Anonymous on 24 de June , 2006, 08:30:23 PM
Quote from: "Shady"Sthealt, sabe como faco pra nao fechar a conexao apos o primeiro send() do cliente, e aguardar por dados vindos do servidor?
Não sei não... Pode me mostrar como?

Vlw