Skip to main content
INF - e-learning - Dipartimento di Informatica
  • English ‎(en)‎
    English ‎(en)‎ Italiano ‎(it)‎
You are currently using guest access (Log in)

Laboratorio di Reti B - AA 2016-2017

  1. Home
  2. Courses
  3. Corso di Laurea in Informatica (L-31)
  4. LabRetiB1617
  5. 14 November - 20 November
  6. Assignment 10: Mini Chat Room NIO

Assignment 10: Mini Chat Room NIO

Completion requirements
Opened: Tuesday, 15 November 2016, 12:00 AM
Due: Tuesday, 6 December 2016, 12:00 AM

Sviluppare un'applicazione di chat anonima dove gli utenti entrano senza registrarsi, ogni utente può inviare un messaggio e tutti gli utenti ricevono tutti i messaggi, senza sapere da chi provengono. Il programma deve avere due componenti:

Il Server:

• attende connessioni TCP dai client. Quando una connessione viene stabilita, il server aspetta dei messaggi dal cliente su quella connessione, fintanto che la connessione viene chiusa dal cliente

• ogni volta che riceve un messaggio, il server lo invia a tutti i client usando un gruppo di multicast.

• usa esclusivamente operazioni NIO non bloccante.

Il Client:

• Aderisce al gruppo multicast per ricevere messaggi dal server.

• Si connette al server e gli invia dei messaggi scritti dall’utente alla riga di comando, fin che l’utente scrive “EXIT”.

• Per ogni messaggio, il cliente invia il testo del messaggio più il carattere ‘#’ per segnalare la fine del messaggio.

• La lettura dal gruppo di multicast e l'invio di messaggi al server è eseguita da un thread.

• L’input dalla tastiera si gestisce in un altro thread (thread di lettura), ed i due thread condividono la lista di messaggi inseriti dall'utente

• la possibile sovrapposizione del input del utente alla riga di comando con i messaggi arrivati dal server non deve essere trattata.


◄ Lezione 8
Esercizio in aula : Echo client e server con NIO ►

Blocks

Skip Navigation

Navigation

  • Home

    • Site pages

      • My courses

      • Tags

      • ForumSite news

    • My courses

    • Courses

      • Corso di Laurea in Informatica (L-31)

        • CN-A ( 24-25)

        • CC 24 25

        • LWS2425

        • ICT security

        • LBD_24-25

        • IIA 2025

        • GC2425

        • ALGEBRA LINEARE 2024-25

        • ALGEBRA

        • PdP-B-2024

        • PdP-A-2024

        • LabRetiB1617

          • Laboratorio di Programmazione di Reti - Corso B - ...

          • TextTwist: Progetto Anno Accademico 2016-2017

          • 19 September - 25 September

          • 26 September - 2 October

          • 3 October - 9 October

          • 10 October - 16 October

          • 17 October - 23 October

          • 24 October - 30 October

          • 31 October - 6 November

          • 7 November - 13 November

          • 14 November - 20 November

            • FileLezione 8

            • AssignmentAssignment 10: Mini Chat Room NIO

            • FileEsercizio in aula : Echo client e server con NIO

          • 21 November - 27 November

          • 28 November - 4 December

          • 5 December - 11 December

          • 12 December - 18 December

      • Corso di Laurea Magistrale in Informatica (LM-18)

      • Corso di Laurea Magistrale in Informatica e Networ...

      • Corso di Laurea Magistrale in Data Science and Bus...

      • Corso di Laurea Magistrale in Informatics for Digi...

      • Corsi erogati dal Dipartimento di Matematica

      • Master di II livello in "Professione formatore in ...

      • Corsi CLIL

      • Altri Corsi

      • Anno Accademico 2013-14

Blocks

You are currently using guest access (Log in)
LabRetiB1617
  • English ‎(en)‎
    • English ‎(en)‎
    • Italiano ‎(it)‎
Data retention summary
Get the mobile app