Mini-Chat Room
Completion requirements
Il Server:
Opened: Tuesday, 15 November 2016, 12:00 AM
Due: Monday, 28 November 2016, 12:00 AM
Gli utenti entrano nella chat senza registrarsi, ogni utente può inviare un messaggio, tutti gli utenti ricevono tutti i messaggi, senza sapere da chi provengano. Si devono sviluppare due versioni del programma, una in cui si utilizza esclusivamente I/O stream-based ed una con NIO.
Il Server: - Aspetta connessioni TCP da clienti
- Quando una connessione viene stabilita, il server aspetta dei messaggi dal cliente suquella connessione, fin che la connessione viene chiusa dal cliente
- Ogni volta che un messaggio arriva, il server lo invia a tutti gli clienti usando multicast.
- (Per la versione NIO) Tutti i channel devono essere multiplexati usando Selector in un solo thread (NIO,channel non-bloccanti).
- Suggerimento: (per la versione NIO) il channel multicast può essere inizialmente registrato con il selettore usando 0 come interestOps, poi aggiungere l'operazione SelectionKey.OP_WRITE quando si riceve un messaggio da un cliente.
Il Client: