Показать сообщение отдельно
Старый 16.11.2007, 14:34
LinuxVideo вне форума Посмотреть профиль Найти все сообщения от LinuxVideo
  № 23  
Ответить с цитированием
LinuxVideo
Banned

Регистрация: Oct 2007
Сообщений: 269
> http-протокол разрывает соединение сразу после обмена данными

keep-alive


> просто те самые 20 строчек кода, для начала.

Код:
           #!/usr/bin/perl -Tw
           use Socket;
           my $EOL = "\015\012";
           sub logmsg { print "$0 $$: @_ at ", scalar localtime, "\n" }
           my $port = shift || 2345;
           my $proto = getprotobyname('tcp');
           ($port) = $port =~ /^(\d+)$/                        or die "invalid port";
           socket(Server, PF_INET, SOCK_STREAM, $proto)        || die "socket: $!";
           bind(Server, sockaddr_in($port, INADDR_ANY))        || die "bind: $!";
           listen(Server,SOMAXCONN)                            || die "listen: $!";
           my $paddr;
           $SIG{CHLD} = \&REAPER;
           for ( ; $paddr = accept(Client,Server); close Client) {
               my($port,$iaddr) = sockaddr_in($paddr);
               my $name = gethostbyaddr($iaddr,AF_INET);
               print Client "Hello there, $name, it's now ",
                               scalar localtime, $EOL;
           }
(c) perldoc perlipc
Из примера выкинуто немного, зато в 20 строк уложился.