• Publicidad

Problema usando sockets

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Problema usando sockets

Notapor BigBear » 2011-02-16 18:09 @798

Hola, ando teniendo un problema con el siguiente
código.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use IO::Socket;
  2.  
  3. my $sockea = new IO::Socket::INET(PeerAddr => "localhost",PeerPort => "80",
  4. Proto => "tcp",Timeout  => 5);
  5.        
  6. menu:
  7. my $re;
  8. print ">";
  9. chomp(my $cmd = <stdin>);
  10.  
  11. print $sockea $cmd."\r\n";
  12. $sockea->read($re,5000);
  13. print $re."\n";
  14. goto menu;
  15.  
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


El problema está en que no sé cómo mantener la variable $sockea activa para poder seguir enviando sentencias al puerto 80.

¿ Alguien me puede ayudar ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Problema usando sockets

Notapor creating021 » 2011-02-17 12:22 @557

Veo un grave error: usar "\r\n" para mandar el fin de línea.
En Windows hacer un print "\r\n"se obtiene (en decimal) 13 13 10 y no 13 10. Es mejor usar:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use utf8;
  2. my $eol = "\x0d\x0a";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Lo otro es ese interminable goto...
no sé cómo mantener la variable $sockea activa

Si el servidor es HTTP y no mandas la opción Keep-Alive[/b], el servidor cerrará la conexión al terminar de mandar el contenido de la página y tendrás que conectarte nuevamente, esto es hacer todo el proceso de [i]new IO::Socket::INET(...) nuevamente.
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 2 invitados

cron