<Index de l'aide> <Serveur> <Client> <Plugins>
<Liste des Plugins> <Nos points forts> <Extensions envisagées>

Fonctionnement de la partie Client

Le client a été allégé autant que possible, afin :
  • qu'il puisse s'executer sur les machines les moins puissantes
  • que l'ensemble des fonctionnalités soient centralisées sur le serveur, pour n'avoir aucune mise à jour des clients à effectuer lors de l'ajout ou du retrait de certaines fonctionnalités
Le client s'exécute dans deux threads différents, afin de pouvoir simultanément :
  • Saisir de nouveaux messages: MonDialogue se résume en une simple boucle d'envoi du message saisi et d'attente de la réponse de la part du serveur :
    while( true ){
    try{//attente de la réponse de la part du serveur
    Reponse rep = (Reponse)in.readObject();
    if( rep==null ) throw new IOException();
    if(!rep.toString().equals("")) System.out.println( rep );
    }
    catch(ClassNotFoundException e){ System.err.println(e); }
    //fin de la communication
    if( (saisie=Keyboard.getString()).toUpperCase().equals(CMDQUIT) ) {
    deconnexion();
    break;
    }//envoi du message saisi
    out.println(saisie);
    }
  • Ecouter les messages entrants: Ecoute se résume lui aussi en une simple boucle d'attente des messages des autres utilisateurs et de leur affichage:
    while(true){
    line = in.readLine();
    if( line==null ) throw new IOException();
    System.out.println( line );
    }

Etant donné la simplicité du code du client, il ne devrait pas être trop compliqué de créer une interface graphique.