Java example

Realizzare una chat-line

INTRODUZIONE:
La realizzazione di questa piccola applicazione e le poche pagine di descrizione che seguono non pretendono di insegnare niente a nessuno. Anzi mi auguro che chiunque decida di leggere il resto e di testare la chat che accludo, voglia inviarmi le sue opinioni.
Leggendo il codice vi accorgerete che non ci sono soluzioni raffinate, che tutte le classi che ho costruito sfruttano gli oggetti più semplici che questo linguaggio mette a disposizione. Inoltre sono un convinto sostenitore della libera diffusione della cultura informatica e spero che i miei sforzi possano aiutare chi, come me, ha desiderio di conoscere e approfondire. Spero inoltre di poter ringraziare così chi ha dedicato molto del proprio tempo per aiutarmi ad imparare.


SCENARIO:
Lo scopo è mettere a disposizione di un gruppo di persone (gli alunni di una classe con una LAN, oppure una piccola comunità di amici che desidera dialogare per proprio conto senza dover sfruttare i mezzi messi a disposizione dal web) un'applicazione che consenta di comunicare in maniera semplice e senza conoscere come si amministra un web-server. Ho utilizzato un'architettura client/server per ottenere il risultato. Lasciando agli ipotetici utenti l'interazione con quella parte del sistema che da ora in poi chiameremo lato client, ci occuperemo di costruire anche un lato server che ha il compito di controllare, autorizzare e smistare le richieste dei client.


CASI D'USO:
L'applicazione offre agli utenti le funzionalità normalmente presenti in ogni chat:

  1. L'utente è invitato ad inserire un nick-name per poter partecipare alla chat ed essere riconosciuto in maniera univoca dagli altri utenti.
  2. All'utente, correttamente registrato, viene messa a disposizione un interfaccia grafica che consetirà di poter inserire il proprio messaggio, vedere i messaggi altrui e verificare costantemente chi è presente in chat.
  3. Con un doppio click sul nick-name di un altro partecipante, l'utente potrà aprire una comunicazione privata con questi senza che nessun'altro ne venga a conoscenza.
  4. L'utente che esce dalla chat viene automaticamente eliminato dalla lista dei partecipanti.
  • ALTERNATIVA: L'utente inserisce un nick-name e lo invia al lato server per poter essere registrato, il server verifica che il nick è già presente.
    Al passo n°2, l' interfaccia grafica avvertirà l'utente dell'errore, gli consntirà di vedere i nick già in uso e lo inviterà a compiere nuovamente la procedura al passo n°1.
  • ALTERNATIVA: L'utente avvia erroneamente più di una volta l'applicazione lato client.
    Al passo n°1, dopo aver ricevuto il nick, il server effettua un controllo anche su indirizzo IP e sulla porta su cui si trova in ascolta il lato client che ha effettuato la richiesta di connessione, e se già presenti chiude automaticamente il nuovo client.
  • ALTERNATIVA: L'utente clicca erroneamente sul proprio nick per avviare la comunicazione privata.
    Al passo n°3 l'interfaccia grafica controlla il nick che si è tentato di selezionare e se risulta essere il proprio non invia la richiesta al lato server.

 


download: (lato_client.zip) (lato_server.zip)