Java : thread et socket – un petit babilleur

Le but est de réaliser un << chat >> avec diffusion de messages aux clients connectés. Nous utilisons une architecture centralisée où un serveur reçoit des requêtes des clients utilisateurs, et diffuse des messages pour le compte des clients. Un client ne communique donc que avec le serveur, pas avec les autres clients.

1  Exécution

Démarrage d’un serveur : spécifier un numéro de port :

        java Chatd 6067

Démarrage d’un client : spécifier un pseudonyme :

        java Chat phil
        java XChat phil

Le client est alors prêt à traiter des ordres, par exemple pour se connecter à un serveur, se déconnecter, envoyer un message…

2  Les fichiers fournis

(incomplets, sauf Chat.java, XChat.java, Chatd.java, Protocole.java et IHM*.java)

3  À Faire

  1. Diffusion des messages
    1. Complétez ChatClient et ChatLecteur (ChatClient.connecter, ChatClient.deconnecter, ChatClient.envoyer, ChatLecteur.run) ;
    2. Testez avec le serveur fourni ;
    3. Côté serveur : ChatdServeur, ChatdClient.transmettre, ChatdClient.run, ChatdClient.mainloop ;
    4. Testez le serveur et le client. Si vous avez respecté le protocole, vous pouvez utiliser des clients de différentes origines pour discuter ensemble via le même serveur.
  2. Ajoutez l’envoi sélectif à un individu (ordre “envoyerA pseudo texte”). Ceci permet aussi de considérer simplement la notion de groupe (plusieurs utilisateurs partageant le même pseudo).

This document was translated from LATEX by HEVEA.