[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]Estoy intentando programar utilizando sockets en perl, para crear un mini-servidorcito... Por ahora, me basta (para saber que mi prueba es exitosa) que me mande de vuelta la cadena que yo escriba. Bueno, para esto intente el siguiente programa: ------------------------------- #!/usr/bin/perl use IO::Socket; $serverport=11450; unlink "/tmp/mysock"; $server=IO::Socket::INET->new(LocalPort=>$serverport, Type=>SOCK_STREAM, Reuse=>1, Listen=>10) or die "Couldn't be a TCP server on port $serverport"; print "$! - $@"; while ($client = $server->accept()) { $client->send("Bienvenido!\n",$flags) or die "Can't send"; $recv=""; while ($recv eq "") { $client->recv($recv,$flags) or die "Can't recieve"; print $client $recv; } $client->send($recv,$flags) or die "Can't send"; } ------------------------------- Ahora, cuando me conecto a este socket pasa lo siguiente: ------------------------------- [gwolf@localhost temp]$ ./daemon.pl & [1] 964 [gwolf@localhost temp]$ telnet localhost 11450 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Bienvenido! asd da gsd ^] telnet> q Connection closed. ------------------------------- O sea, me manda correctamente la primera cadena (Bienvenido!), pero al parecer no recibe (o no vuelve a mandar) lo demas. De hecho, si substituyo el print $client $recv; por print $client "Dices que $recv"; me da una interminable cantidad de "Dices que" antes de que yo pueda escribir nada. Si lo cambio para que quede print $client "Dices que $recv" if ($recv); el comportamiento es identico al original. Que estoy haciendo mal? Gracias! ------------------------------------------------------------------- NOTA - La UNAM se va a paro. Por favor, hasta que quede resuelto el asunto, quien me quiera escribir hagalo a gwolf en chmd edu mx ------------------------------------------------------------------- Gunnar Wolf gwolf en campus iztacala unam mx tel. 5623-1118 Universidad Nacional Autónoma de México, Campus Iztacala Jefatura de Sección de Admon. de Sistemas y Telecomunicaciones -------------------------------------------------------------------