next up previous
Next: Il thread per il Up: Parte VI: creiamo un Previous: La classe ChatRoomServer


Il thread per il ciclo ``ricevi-esegui-invia-ricevi'' dei comandi

Il thread per la gestione del ciclo REIR è attivato contestualmente alla accettazione della connessione socket da parte del client e termina con l'esecuzione del comando ExitRoom.

Si definisca quindi una classe ThreadREIR per la gestione del ciclo REIR di un dato client contenente i campi:

Questa classe deve estendere la classe Thread e quindi ridefinire il metodo run che contiene il ciclo REIR vero e proprio, uno schema di tale metodo potrebbe essere il seguente:
public void run() {
    boolean stopRequested = false;
    Message message;
    ChatRoomCommand command;
    while (!stopRequested) {
        // leggi un comando da `in'
        message = comando.execCRC(chatRoom, null);
        // scrivi message su `out'
        if (comando instanceof ExitRoom) stopRequested = true;
    }
}
Si ricordi di gestire anche la chiusura del socket.



Baldoni Matteo 2003-05-08