[t]40ex
Université Pierre & Marie Curie
U.F.R d'infomatique
[t]45ex
Maîtrise -- 99-2000
Programmation Objet et Distribution



Tavaux pratiques n° 1

Une machine à café distribuée

Le but du TP est de manipuler à la fois la communication entre threads présents sur un même hôte et la communication par sockets entre programmes situés sur des machines distinctes selon l'architecture client-serveur.

Principe de fonctionnement du serveur
Le serveur lance un processus (léger) qui simule une machine à café puis se met à l'écoute des clients. À chaque connexion, le serveur lance un processus (léger) (que nous appellerons un garçon) pour traiter la requête. Et continue à écouter.
Le processus simulant la machine et les garçons partageront un certain nombre de ressources communes : une file d'attente pour les commandes et une liste des boissons prêtes.
La machine et le serveur partageront une valeur boolèenne (que nous appelerons on) indiquant si celle-là est active ou non. Le serveur boucle tant que cette valeur vaut true.

Architecture de la machine à café
La machine à café boucle sur la séquence suivante :
  1. attendre une commande ;
  2. incrémenter la recette ;
  3. un délai de préparation de la boisson ;
  4. décrémenter le stock de boisson ;
  5. ajouter la boisson (ou le code d'erreur) à la liste des boisson prêtes.
Pour faire simple, la recette et les stocks de boissons sont des ressources locales à la machine. Celle-ci affichera périodiquement le montant de la recette. Lorsque tous les stocks sont épuisés, la machine met la variable on à faux et s'arrête.

Fonctionnement du garçon
Le garçon : On se contentera d'implanter le serveur. On simulera un client en utilisant telnet.

Indications
Vous réaliserez le serveur en vous inspirant du serveur pong vu en TD, mais vous utiliserez des threads en place des << processus lourds >>.

N'oubliez pas non plus d'utiliser les entrées-sorties compatibles avec les threads (module ThreadUnix).




This document was translated from LATEX by HEVEA.