TP 2 - Sockets TCP avec multiples clients
Application à réaliser
Le but de ce deuxième TP est de réaliser une application
distribuée de type client/serveur avec comme support de
communication les sockets TCP.
Le serveur gère une liste de personne. Une personne est définie
par 2 informations : son age et son nom (mêmes informations que
pour le TP1). Le serveur attribue à chaque personne un
identificateur unique.
Un client peut effectuer plusieurs requêtes :
- Proposer l'ajout d'une personne dans la liste gérée par le
serveur. Si la personne existait déjà, le serveur ne fait pas
d'ajout. Le serveur retourne ensuite au client l'identificateur de la
personne (identificateur généré si la personne était
nouvelle).
- Demander l'identificateur d'une personne en envoyant les
informations sur une personne au serveur. Si la personne n'existe pas,
le serveur retourne -1.
- Récupérer les informations concernant une personne à
partir de son identificateur. Si le client n'existe pas, une valeur
particulière est retournée par le serveur.
Plusieurs clients doivent pouvoir être connectés
simultanément au serveur.
Aides
Il y a 2 points importants à traiter :
- Assurer la gestion de plusieurs client simultanément. Pour
cela, il faudra avoir un fonctionnement multi-threadé du
serveur. Attention alors aux accès concurrents aux données du
serveur.
- Le format des messages envoyés entre le serveur et le client.