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 A - A.A .1516

  1. Home
  2. Courses
  3. Corso di Laurea in Informatica (L-31)
  4. LRetiA
  5. 26 Aprile
  6. Assignment 12: Mini Chat Room

Assignment 12: Mini Chat Room

Completion requirements
Opened: Tuesday, 3 May 2016, 12:00 AM
Due: Friday, 20 May 2016, 11:00 PM

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. Se il messaggio ricevuto risulta più lungo di 512 byte, viene troncato.

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.

Si devono sviluppare due versioni dell'applicazione, la prima utilizza unicamente le funzionalità di JAVA IO, la seconda utilizza JAVA NIO (specifiche ulteriori nella prossima lezione)

◄ Assignment 11: Date Server
Assignment 13: Gestione Congresso con RMI ►

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

        • LRetiA

          • General

          • 1 Marzo

          • 8 marzo

          • 15 marzo

          • 22 marzo

          • 12 aprile

          • 19 aprile

          • 26 Aprile

            • QuizTest Sincronizzazione

            • AssignmentAssignment 11: Date Server

            • AssignmentAssignment 12: Mini Chat Room

          • 3 maggio

          • 10 maggio

          • 17 maggio

          • 24 maggio

      • 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)
LRetiA
  • English ‎(en)‎
    • English ‎(en)‎
    • Italiano ‎(it)‎
Data retention summary
Get the mobile app