Nous allons mettre en oeuvre TCP IP pour développer un serveur, très simple dans un premier temps et capable d'accepter la connexion d'un client (telnet par exemple).

DEFINITIONS DES VARIABLES
# Nous devons utiliser le module socket de perl
use Socket;
# Definition du protocole et du port d'écoute du serveur
$srv_port = 7999;
$proto = getprotobyname('tcp');

CREATION DE LA SOCKET TCP ET MISE A L'ECOUTE
# recuperation de l'adresse du serveur (SAP)
$ADDR_SRV = pack('SnA4x8', AF_INET, $srv_port, INADDR_ANY);
# creation de la socket que l'on nomme SOCKET
socket(SOCKET, AF_INET, SOCK_STREAM, $proto)||die("Erreur socket : $!");
# accrochage SOCKET - SAP
bind (SOCKET, $ADDR_SRV)||die("Erreur bind : $!");
# mise à l'écoute du serveur
listen(SOCKET, SOMAXCONN)||die("Erreur listen : $!");

CONNEXION D'UN CLIENT
# acceptation d'un client, ressource que l'on nomme CLIENT
$client = accept(CLIENT, SOCKET)||die("Erreur accept : $!");
# extration IP du client
($port_client, $IP_client) = sockaddr_in($client);
# affichage de l' IP du client sur le serveur
print "IP du client : ".join(".", unpack('C4', $IP_client))."\n";

FERMETURE DE LA SOCKET
Ne pas oublier de fermer la connexion du coté du clienet et/ou du serveur.
Pour cela faire un : CLOSE(SOCKET); # identifiant de votre socket

LES LIENS :