Exercices dirigés

1 Programmation des sockets

1.1 Exercice 1

Création et attâchement d'une socket 1.a/ Rappelez la définition d'une socket et le format de la primitive permettant sa création.
1.b/ A l'issue de cette création, quels sont les processus pouvant utiliser la socket ?
1.c/ Quelle primitive permet d'associer une adresse réseau à une socket ?

1.2 Exercice 2

Communication en mode datagramme ou en mode connecté On considère l'application clients-serveur répartie suivante : le serveur gère 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) si il a été trouvé dans le table, sinon le message "usager inconnu".
 
 
2.a/ Donnez le pseudo-code d'un client et du serveur en supposant une communication en mode datagramme. Faites apparaitre dans ce pseudo-code les primitives de communication utilisée.
 
 
2.b/ Donnez le pseudo-code d'un client et du serveur en supposant une communication en mode connecté. Faites apparaitre dans ce pseudo-code les primitives de communication utilisée.
 
 
2.c/ Le serveur crée un fils pour gérer chacune des requêtes des clients. Donnez le pseudo-code du serveur et de l'un de ses fils en supposant une communication en mode connecté.
 
 
2.d/ On suppose à présent que le serveur peut accepter deux types de requêtes de la part des clients :
  • les requêtes de consultation de l'annuaire similaires à celles traitées jusqu'à présent
  • les requêtes de modification de l'annuaire : le client fournit alors au serveur un couple (nom_de_personne, numero_telephone) que le serveur enregistre dans sa table. Chacun des deux types de requêtes est accepté par le serveur sur deux ports différents : PORTC pour les consultations et PORT M pour les modifications. Les consultations et les modifications peuvent être demandées en parallèle par des clients différents. Le serveur doit traiter les demandes comme elles se présentent. Donnez le pseudo-code du serveur. A votre avis, faut-il protégez l'accès à la table de l'annuaire par un schéma de synchronisation ?

1.3 Exercice 3

Le démon INETD
3.a/ Quel est le rôle du démon Inetd ?
3.b/ Ecrivez le pseudo-code de ce démon.
Voir la correction
Programmation socket Exercices dirigés