Travaux Dirigés II : Communication par file de messages
Cours

Travail à faire

Écrire un serveur sermess.c et un client climess.c

sermess.c va initialiser une table interne d'objets ("iniobj.h"), créer une file de messages, puis se mettre en attente de l'arrivée de requêtes. La programmation de ce TD est grandement facilitée par le fait que la directive msgrcv(2) peut être bloquante.

climess.c va demander un numéro de client, récupérer ce numéro, envoyer 2 ou 3 requêtes au serveur sur la file de messages et lire les réponses.

Il n'est pas obligatoire d'implémenter tous les types de requêtes définies dans l'analyse ci-dessus. On fera en fonction du temps disponible.

Pour simplifier la réalisation :

  • choisir comme token un fichier local, par exemple "./login_sr03"

  • mettre comme drapeaux de création de la file : "IPC_CREAT|IPC_EXCL|0666"

  • décider que le serveur traite, au maximum, 3 clients simultanément (NB_MAX_CLT_SIM_ = 3), avant de rejeter proprement les autres

  • décider que le serveur traite, au maximum, 5 clients (NB_MAX_CLT = 5), avant de rejeter proprement les autres et de s'arrêter

  • décider que le serveur gère 5 types d'objets (NB_MAX_TYP_OBJ = 5)

Ceci permet d'utiliser dans le serveur des structures statiques pour gérer les clients, les paniers et les objets. En effet on s'intéresse dans cette UV aux problèmes de communication, pas de gestion de données.

Présentation de TD (page Précédente)
AccueilImprimerRéalisé avec SCENARI