ELO-330: Programación de Sistemas
Tarea 4: Mi Chat Con Interfaz Java
Nombre: mcs: Mi Chat Server, Servidor chat basado en
hilos
mccj: Mi Chat Client Java, cliente chat basado en hilos con interfaz
JAVA
Sintaxis: mcs [puerto]
puerto: es opcional; si no se pone, el sistema lo asigna.
mccj <máquina servidora> <puerto>
máquina servidora: Máquina donde corre mcs
puerto: puerto asociado al servicio mcs.
Descripción
mcs es el servidor chat que correrá
centralizadamente para atender este sistema simple de chat. Usted puede
usar el mismo o una versión mejorada del pedido en tarea 3. Una
vez
ejecutado, reportará por consola el número de puerto
donde recibirá los requerimientos. mcs hace uso de protocolo
TCP. Para terminar mcs se debe enviar Control-C o una señal de
término vía consola.
mccj es el cliente a correr por cada usuario para
vincularse con sus pares. Al ejecutar mccj, éste pregunta al
usuario su "user name" vía una ventana. Luego
presenta una interfaz con dos áreas. En un campo de texto no
editable superior con barra de scroll, mccj muestra todos los mensajes
recibidos antecedidos por el "user name" dado por ese usuario. En un
campo de texto inferior editable, mccj permite el ingreso de mensajes
por parte del usuario.
Un cliente mccj concluye cuando el usuario presiona el
botón "Salir".
Esta situación no debe crear problemas en el servidor, los
demás usuarios siguen en su chateo.
Observaciones
mcs debe estar implementado con hilos. Un hilo para atender
cada conexión de cliente. Además puede manejar una cola
donde cada hilo receptor puede escribir los mensajes recibidos, para
luego ser leídos por otro hilo que lee desde esta cola y los
envía a cada cliente. Usted puede optar por otras arquitecturas.