Vai al contenuto principale
INF - e-learning - Dipartimento di Informatica
  • Italiano ‎(it)‎
    English ‎(en)‎ Italiano ‎(it)‎
Ospite (Login)

Laboratorio di Reti B - AA 2016-2017

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

Assignment 10: Mini Chat Room NIO

Aggregazione dei criteri
Aperto: martedì, 15 novembre 2016, 00:00
Data limite: martedì, 6 dicembre 2016, 00:00

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 ►

Blocchi

Salta Navigazione

Navigazione

  • Home

    • Pagine del sito

      • I miei corsi

      • Tag

      • ForumSite news

    • I miei corsi

    • Corsi

      • Corso di Laurea in Informatica (L-31)

        • CC 25 26

        • GC2526

        • LBD_25-26

        • LWS25-26

        • Algebra Lineare C 25/26

        • CN (25-26)

        • IIA 2026

        • ProgAlgo-C-25

        • LAB3B-25/26

        • RETI2025/26A_1

        • BD-A 25/26

        • LabRetiB1617

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

          • TextTwist: Progetto Anno Accademico 2016-2017

          • 19 settembre - 25 settembre

          • 26 settembre - 2 ottobre

          • 3 ottobre - 9 ottobre

          • 10 ottobre - 16 ottobre

          • 17 ottobre - 23 ottobre

          • 24 ottobre - 30 ottobre

          • 31 ottobre - 6 novembre

          • 7 novembre - 13 novembre

          • 14 novembre - 20 novembre

            • FileLezione 8

            • CompitoAssignment 10: Mini Chat Room NIO

            • FileEsercizio in aula : Echo client e server con NIO

          • 21 novembre - 27 novembre

          • 28 novembre - 4 dicembre

          • 5 dicembre - 11 dicembre

          • 12 dicembre - 18 dicembre

      • 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

Blocchi supplementari

Ospite (Login)
LabRetiB1617
  • Italiano ‎(it)‎
    • English ‎(en)‎
    • Italiano ‎(it)‎
Riepilogo della conservazione dei dati
Ottieni l'app mobile