1.6 KiB
1.6 KiB
Projet de Programmation multitâches
Objectifs
Développer une application multitâche en Java ou en C. Un message envoyé doit contenir le texte, pseudo de l'envoyeur, la date de l'envoi, le destinataire, la date de validité du message. Le destinataire peut être : public, groupe (nomGroupe), privé (pseudo).
Illustration sur un cas concret des problématiques liées à :
- la synchronisation d'une application client / serveur
- l'exclusion mutuelle
- l'interblocage de processus
Prérequis
Programmation en Java / C, thread/processus/socket.
Description
Il faut développer 2 applications :
- Un serveur composé de plusieurs threads, entre autres :
ClientListener
qui est à l'écoute des messages entrantsClientSender
qui envoie les messages au client
- Un client composé de 2 tâches :
Listener
qui retourne sur la sortie standard tous les messages en provenance du serveurSender
qui lit les messages en provenance de l'entrée standard et les envoie au serveur
Remarque :
Afin de libérer le serveur pour accepter d'autres clients, il faut créer une instance de ClientListener ainsi qu'une instance de ClientSender pour chaque nouveau client accepté.
Notation
- Mise en oeuvre des tâches serveurs /6 (Dispatcher /3)
- Mise en place de la communication interprocessus /3
- Mise en place de la communication par socket /1
- Mise en oeuvre d'un client /2
- Application (couche métier) /2
- Mise en oeuvre d'un protocole de communication /2
- Compte rendu /4
- Mise en oeuvre d'une CLI /2