Función de escucha de Perl

Descripción

Esta función configura la toma de red SOCKET para escuchar las conexiones de red entrantes. Establece la longitud de la cola de conexión entrante en EXPR. Es posible que desee considerar el uso del módulo IO :: Socket, que proporciona una forma mucho más fácil de crear y escuchar sockets de red.

Sintaxis

A continuación se muestra la sintaxis simple para esta función:

listen SOCKET, EXPR

Valor devuelto

Esta función devuelve 0 en caso de error y 1 en caso de éxito.

Ejemplo

A continuación se muestra el código de ejemplo que muestra su uso básico, este es un ejemplo de servidor junto con la implementación de socket Perl Socket:

Enchufe de Perl

#!/usr/bin/perl -w
# server.pl
#--------------------

use strict;
use Socket;

# use port 7890 as default
my $port = shift || 7890;
my $proto = getprotobyname('tcp');

# create a socket, make it reusable
socket(SOCKET, PF_INET, SOCK_STREAM, $proto) 
   or die "Can't open socket $!\n";
setsockopt(SOCKET, SOL_SOCKET, SO_REUSEADDR, 1) 
   or die "Can't set socket option to SO_REUSEADDR $!\n";

# bind to a port, then listen
bind( SOCKET, pack( 'Sn4x8', AF_INET, $port, "\0\0\0\0" ))
       or die "Can't bind to port $port! \n";
listen(SOCKET, 5) or die "listen: $!";
print "SERVER started on port $port\n";

# accepting a connection
my $client_addr;
while ($client_addr = accept(NET_SOCKET, SOCKET)) {
   # send them a message, close connection
   print NEW_SOCKET "Smile from the server";
   close NEW_SOCKET;
}