Básicamente tengo que aceptar una conexión entrante y recibir lo que otro dispositivo me envíe. Tengo un código bastante largo, pero en sí voy a pegar la esencia del problema. El servidor funciona correctamente pero solo recibo la cadena que el otro dispositivo me envía si la línea va acabada de la pulsación de INTRO.
La cuestión es que esté continuamente en escucha y si le doy a la letra A, pues que automáticamente reciba la A sin esperar al INTRO.
Creo que debe ser sencillo y concretamente en esta línea: while($_=$psock->getline) pero por más que leo, busco o cambio no consigo hacerlo funcionar.
Espero me puedan echar un cable, desde ya muy agradecida
Using perl Syntax Highlighting
#!/usr/bin/perl -w
use IO::Socket;
my $sock = IO::Socket::INET->new(Listen => 5,
LocalAddr => '0.0.0.0',
LocalPort => 1111,
Proto => 'tcp');
$sock->autoflush(1);
while(1) {
my $psock = $sock->accept();
warn "Accept from ",$psock->peerhost,"\n";
$psock->print("Bienvenido\n");
while($_=$psock->getline) {
print $_;
print $_;
$psock->print("ok\n");
}
warn "Close from ",$psock->peerhost,"\n";
$psock->close;
}
use IO::Socket;
my $sock = IO::Socket::INET->new(Listen => 5,
LocalAddr => '0.0.0.0',
LocalPort => 1111,
Proto => 'tcp');
$sock->autoflush(1);
while(1) {
my $psock = $sock->accept();
warn "Accept from ",$psock->peerhost,"\n";
$psock->print("Bienvenido\n");
while($_=$psock->getline) {
print $_;
print $_;
$psock->print("ok\n");
}
warn "Close from ",$psock->peerhost,"\n";
$psock->close;
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4