projet-multitaches/README.md
2022-09-13 13:02:40 +02:00

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 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

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