|
From: <car...@us...> - 2003-03-24 02:55:28
|
Update of /cvsroot/madsserv/madsserv/src/simulator In directory sc8-pr-cvs1:/tmp/cvs-serv22209 Added Files: DialogServerSimu.java Removed Files: DialogServer.java Log Message: Modification du nom de DialogServer du simulateur --- NEW FILE: DialogServerSimu.java --- /** * Projet Madsserv * DialogServer.java * * Module de simulation des changements de qualite. * * @author Christele Champagnat */ import java.util.*; import java.io.*; import java.net.*; import java.lang.Object.*; import java.lang.System.*; /** * DialogServer est la classe qui hérite de la classe dialogSocket et qui * gère les dialogues avec le serveur.<br> * Il y a une classe instanciée par client connecté. * @author Christele Champagnat */ public class DialogServerSimu extends DialogSocket { final static int UPDATE_FROM_SERVER = 1; final static int UPDATE_FROM_SIMU = 2; final static int CLIENT_DECONNEXION = 3; final static int DECONNEXION_FROM_SIMU = 4; final static int DECONNEXION_FROM_SERVER = 5; private Simulator simulator; /** * Constructeur de la classe */ public DialogServerSimu(Socket _socketServer, Simulator _simulator) { super(_socketServer); simulator = _simulator; clientID = -1; } /** * Méthode qui a été déclaré abstraite dans * DialogSocket et qui gère l'arrivée de nouveaux messages du serveur. * @param _type type de message qui arrive (c'est un entier). * @param _message tableau de chaîne de caractères qui contient * les messages du serveur. */ public void incomingMessage(int _type, String[] _message) { int lgth = _message.length; int qualityLevel = 0; switch (_type) { //message de deconnexion du simulateur case DECONNEXION_FROM_SERVER: { //lecture du deuxieme champ : ClientID System.out.println(_message[0]); simulator.endConnexion(); addLog("deconnexion du Server"); break; } //effacement d'un client de la table case CLIENT_DECONNEXION: { //lecture du deuxieme champ : ClientID try { clientID = Integer.parseInt(_message[0]); } catch (NumberFormatException e) { System.out.println("Le deuxieme champ du message est incorrect"); } System.out.println("On efface le client : " + _message[0]); addLog("effacement Client : " + clientID); simulator.tableClients.removeClientRecord(clientID); break; } //mise a jour de la table des clients (nouveau ou changement de qualite) case UPDATE_FROM_SERVER: { //lecture du deuxieme champ : ClientID try { clientID = Integer.parseInt(_message[0]); } catch (NumberFormatException e) { System.out.println("Le deuxieme champ du message est incorrect"); } //lecture du troisieme champ du message : portBase try { qualityLevel = Integer.parseInt(_message[1]); } catch (NumberFormatException e) { System.out.println("Le troisieme champ du message est incorrect"); } if (simulator.tableClients.getRowForClient(clientID) == -1) { simulator.tableClients.newClientRecord(clientID, qualityLevel); addLog("ajout d'un nouveau client;" + _message[0].concat(";"+ _message[1])); } else { simulator.tableClients.updateClientRecord(clientID, qualityLevel); addLog("mise � jour du client;" + _message[0].concat(";" + _message[1])); } } } } /** * Envoie les messages sur le Socket. * @param _type le type de message à envoyer. * @param _message le message à envoyer. */ public void sendMessage(int _type, String[] _message) { threadOutput = new ThreadWrite("Thread d'ecriture ID", output, this); String[] messageToSend = null; if (_message == null) { simulator.showError("message a envoye null"); } else { messageToSend = new String[_message.length]; messageToSend[0] = String.valueOf(clientID); for (int i = 0; i < _message.length; i++) { messageToSend[i] = _message[i]; } threadOutput.setMessageToSend(_type, messageToSend); threadOutput.start(); } } /** * Ajoute des Log au fichier de Log. * @param message le message à envoyer. */ private void addLog(String message) { String logToSend = new String("DialogServer;" + message); try { simulator.log.writeLog(logToSend); } catch (Exception e) { } } /** * Ferme le client lors d'une déconnexion brutale du serveur. */ public void resetByRemote() { simulator.endConnexion(); } } --- DialogServer.java DELETED --- |