Exemple: Servidor amb múltiples clients
Autor: Joan Puigcerver Ibáñez
Correu electrònic: j.puigcerveribanez@edu.gva.es
Llicència: CC BY-NC-SA 4.0
(Reconeixement - NoComercial - CompartirIgual) 🅭
Objectius
En aquest exemple es mostrarà com es poden crear un servidor capaç de gestionar diferents
clients de manera simultània.
Client: MulticlientClient
Codi font
Explicació
Aquest programa crea un client que es connecta al servidor. Després, demana un nom per identificar-se
i permet escriure missatges al servidor fins que s'escriga la paraula END.
Per poder executar a la vegada varies instàncies de MulticlientClient en IntelliJ, cal que modifiqueu la
configuració d'execució.
Heu d'anar a: Run > Edit Configurations... > Seleccionar MulticlientClient > Build and run > Modify options > Marcar "Allow multiple instances"
Servidor: MulticlientServer
Codi font
Explicació
Aquesta classe implementa un servidor capaç de gestionar multiples clients. Aquesta classe també està
pensada per ser executada en un fil independent.
El servidor s'inicia i espera connexions. Quan una connexió es realitzada per part d'un client,
el servidor crea i inicia una instància de la classe ServerHandler , que s'encarrega de gestionar
les respostes amb el client.
Servidor: MulticlientServerHandler
Codi font
Explicació
Aquesta classe implementa les respostes del servidor a un únic client
en un fil independent.
Aquest fil li demana el nom per identificar el client i després mostrarà tots els missatges que
el client envie al servidor fins que aquest acabe la connexió.
|