16 lines
925 B
Markdown
16 lines
925 B
Markdown
## Exercice : chat multi-utilisateurs avec pseudo
|
|
|
|
### Consigne
|
|
|
|
Créez un système de chat qui permet à **plusieurs clients** de se connecter en même temps à un serveur. Chaque client choisit un pseudo à la connexion, et tous les messages sont diffusés à l'ensemble des participants avec le pseudo de l'expéditeur.
|
|
|
|
**Fonctionnalités attendues :**
|
|
|
|
1. Le serveur accepte plusieurs connexions simultanées (un thread par client)
|
|
2. À la connexion, le client envoie son pseudo en premier message
|
|
3. Le serveur annonce l'arrivée du nouveau participant à tous les autres
|
|
4. Quand un client envoie un message, le serveur le redistribue à tous les autres clients (pas à l'expéditeur)
|
|
5. Quand un client se déconnecte (ou tape `quit`), le serveur prévient les autres
|
|
6. Le client utilise deux threads : un pour envoyer, un pour recevoir (comme dans la version full-duplex)
|
|
|
|
**Exemple d'échange vu par un client :** |