<div class="page"> <div class="cover text-center"> <img class="mx-auto" src=/itb/images/logo_mislata.png alt="logo"> # Chat <div class="text-end fit-content ms-auto my-3 mt-auto pt-3"> <p><strong>Autor:</strong> Joan Puigcerver Ibáñez</p> <p><strong>Correu electrònic:</strong> j.puigcerveribanez@edu.gva.es</p> <p><strong>Curs:</strong> 2024/2025</p> </div> <div> <p class="fw-bold mb-0">Llicència: BY-NC-SA</p> <p class="d-none d-md-block">(Reconeixement - No Comercial - Compartir Igual)</p> <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.ca" target="_blank"> <img class="mx-auto" src="/itb/images/license.png" alt="Licence"/> </a> </div><!--license--> </div><!--cover--> </div><!--page--> {:toc} # Objectius Conèixer els mecanismes i implementar programes que utilitzen el protocol TCP/IP per comunicar-se. # Entrega Tots els exercicis han d'estar situats en el package corresponent. - __Package:__ ud3.exericises - El nom de la classe de cada exercici és el nom. - El format de la eixida del programa ha de ser consistent amb el format demanat. ## Chat Realitza un chat programat amb Java amb una estructura client/servidor. ### Client El programa client es composarà de dos fils d'execució: - El fil principal, que es connectarà al servidor, s'identificarà mitjançant un nom i permetrà enviar missatges al servidor. - Un fil secondari que escoltarà al servidor i mostrarà per pantalla tots els missatges rebuts. ### Servidor El servidor ha de poder gestionar molts clients a la vegada, per tant, ha de crear un fil independent per cada client que es connecte. Quan es connecta un client, el servidor esperarà al que el client s'identifique i després escoltarà els missatges que els clients escriguen. Cada vegada que es reba un missatge d'un client, el servidor enviarà el següent missatge a tots els clients connectats: ``` Nom: Missatge ``` On `Nom` és el nom amb el qual el client que ha enviat el missage s'ha identificat i `Missatge` és el missatge enviat.