Fonction d'écoute Perl

La description

Cette fonction configure la prise réseau SOCKET pour écouter les connexions réseau entrantes. Définit la longueur de la file d'attente de connexion entrante sur EXPR. Vous pouvez envisager d'utiliser le module IO :: Socket, qui fournit un moyen beaucoup plus simple de créer et d'écouter les sockets réseau.

Syntaxe

Voici la syntaxe simple de cette fonction -

listen SOCKET, EXPR

Valeur de retour

Cette fonction renvoie 0 en cas d'échec et 1 en cas de succès.

Exemple

Voici l'exemple de code montrant son utilisation de base, c'est un exemple de serveur avec l'implémentation de socket Perl Socket

Prise 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;
}