ELO-330: Programación de Sistemas
Tarea 4: Chat Grupal
Objetivos:
En esta tarea usted ejercitará las siguientes competencias en Java:
manejo de hebras, de comunicación cliente servidor usando TCP, de
monitores y de interfaces gráficas.
Nombres: ChatServer y ChatClient: Servidor y cliente
del chat grupal TCP
Sintaxis: java ChatServer <port>
java ChatClient <User_name> <host_server> <port>
Descripción
ChatServer es un servidor concurrente basado en
hebras. Espera por un número no definido de clientes. Todo el texto
recibido de cada cliente es re-enviado hacia todas las conexiones,
incluyendo aquella desde la cual provino. De esta manera se comporta
como un servidor de eco replicando hacia todos los clientes aquello que
cada uno de ellos le haga legar. Los envíos deben presentarse en el
mismo orden para todos los clientes.
ChatClient presenta una interfaz gráfica con tres zonas. En la
primera el usuario recibe todos los textos enviados por otros usuarios
conectados al servidor. La segunda permite ingresar el texto que un
usuario desea enviar al grupo. La tercera zona, incluye un botón
("Send") que permite enviar al grupo el texto ingresado. ChatClient
antepone a cada mensage enviado el "user name" del primer argumento de
ChatClient. De este modo el texto recibido permite reconocer el usuario
que lo envió,
Evaluación de la Tarea y
qué entregar: revisar procedimiento
de entrega y criterios usados para
evaluar su trabajo.
Ayuda:
- Revise el servidor eco multihebras y el ejemplo MailTest.java vistos en clases.
- Revise la clase Vector de Java.
- Haga su tarea de a poco y con tiempo. Con gusto
atenderé todas sus preguntas en especial en clases y horas de atención!
- Si tras una dificultad no logra avances por más
de 30 minutos, espere la próxima clase, visíteme o
escríbame. Con gusto procuraré ayudarlo.
- Si tiene dudas del enunciado, lo aclararé con gusto y
documentaré aquí.