First commit

This commit is contained in:
flyingscorpio@clevo 2022-09-13 13:02:40 +02:00
commit f69cb58340
2 changed files with 45 additions and 0 deletions

45
README.md Normal file
View file

@ -0,0 +1,45 @@
# 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 entrants
* `ClientSender` 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 serveur
* `Sender` 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é.
![architecture](./img/archi.png)
## 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

BIN
img/archi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB