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.
legal kra, vai ajudar
Sthealt, sabe como faco pra nao fechar a conexao apos o primeiro send() do cliente, e aguardar por dados vindos do servidor?
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
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.
cria um loop para envio de msgs ao servidor e nao feche o socket , deve funcionar
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