#!/usr/bin/perl -w use strict; use IO::Socket; use Net::hostent; # informacion de la conexion avanzada (nombre e ip remota) my $opt_port = 11202; my $sock = IO::Socket::INET->new(Proto => 'tcp', LocalPort => $opt_port, Listen => SOMAXCONN, Reuse => 1, Timeout => 20); die "Can't setup server: $!\n" unless $sock; print "socket creado, escuchando por el puerto $opt_port\n"; my $client = $sock->accept(); $client->autoflush(1); my $hostinfo = gethostbyaddr($client->peeraddr); my $remotename = $hostinfo->name; my $remoteaddr = inet_ntoa(${$hostinfo->addr_list}[0]); print "Conexion recibida desde ".$remotename.",".$remoteaddr."\n"; my $timeout = $sock->timeout(); print "timeout = $timeout\n"; my $nuevo; while (1) { print $client "LISTO\r\n"; $nuevo = <$client>; print "Recibido: $nuevo\n"; if ($nuevo =~ /fin/) { print $client "ADIOS\r\n"; exit; } } close $client; print "Conexión finalizada\n";