Vous êtes sur la page 1sur 1

TP4.

Programmation système UNIX

Les sockets en mode connecté sous UNIX


Travail I :

On vous demande de développer une application Client-Serveur utilisant les sockets connectés
SOCK_STREAM et dans le domaine AF_INET. Le serveur écoute sur le port 7000, et il ne
pourra accepter que 5 communications au maximum.
Pour ce faire:
1. Rédiger le programme d'un serveur dédié à gérer une table annuaire de couple
(nom_de_personne, numero_telephone). Des clients interrogent le serveur en lui
transmettant un nom_de_personne. Le serveur répond en envoyant au client le couple
correspondant (nom_de_personne, numero_telephone) s'il a été trouvé dans la table,
sinon le message "usager inconnu".
2. Écrire de même le programme d’un client.

Travail II :

On vous demande de développer une application Client-Serveur écoutant sur le port 8000 avec
les sockets connectés SOCK_STREAM. Pour ce faire, on devra suivre les étapes suivantes :
• D’abord définir au niveau serveur les opérations arithmétiques suivantes :
- int max (int, int)
- int add (int, int)
- int mult(int,int)
- float div (int, int)
• Le serveur crée ensuite un socket de type internet (AF_INET), en mode connecté
TCP sur le port 8000.
• Indiquer que l’on va écouter avec au maximum 5 connexions en attente.
• répéter :
o attendre une connexion et afficher un message pour signaler que « la connexion
est bien établie ».
o Lire et afficher les données reçues par bloc d’octets. Ces données représentent
la requête cliente.
o Si « recv( ) » ramène à une chaine vide, c’est que la connexion a été coupée par
le client, afficher ainsi un message « Fin de connexion » et attendre la
connexion suivante.
• Le client est le programme initiateur du dialogue en émettant au serveur sa structure
requête (c'est-à-dire, sa demande d’exécution d’une des fonctions définies chez le
serveur). Le serveur est censé ainsi répondre à cette demande en envoyant le résultat
attendu au client.

Vous aimerez peut-être aussi