Ma_fack di Ma_fack
Ominide 1415 punti

Listener e Handler

Per muoverci verso la multiutenza, la classe SimpleServerSocketManager non basta più infatti si dovrà ricorrere ad altre due classi: ListenerSocketManager e HandlerSocketManager. Grazie a queste due nuove classe è possibile gestire più richieste da più client alla volta infatti ora si avrà la seguente situazione: il server apre subito un socket definito “listener” in ascolto delle richieste provenienti dai client; per ogni nuova richiesta che giunge al server, il server apre un nuovo socket definito “handler” e le richieste passano dal listener all’handler; attraverso l’handler, il server invia le risposte ai client. I costruttori delle classi sopra sono:

ListenerSocketManager (java.lang.String port)
HandlerSocketManager (ListenerSocketManager socket)

Mentre il Listener ha solo il costruttore, l’HANDLER ha I seguenti metodi:
- .riceviRichiesta () = riceve la richiesta inviata al server;

- .inviaRisposta (java.lang.String msg) = invia una risposta al client connesso attraverso il socket;
- .chiudi () = chiude il socket;

La gestione di più utenti è tuttavia un po’ più complessa infatti bisogna istanziare due diverse classi poiché è necessario avere una classe che si occupa solo del “listener” e una che si occupa solamente del “handler” poiché ogni volta che si riceve una richiesta al listener questo istanzia un’handler per gestire la richiesta.

Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Registrati via email