Nombre: chatServer: Chat Server, Servidor chat basado en
hilos
chatMonitor: Cliente en misma máquina que Chat Server, obtiene del servidor y despliega el número de
conexiones y bytes transferidos por cada conexión.
chatClient: Chat Client, cliente chat basado en hilos o no
Sintaxis: charServer [puerto_chat] [puerto_monitor]
puerto
chat: puerto de escucha de de clientes chats. Es opcional; ante su
ausencia, puerto asignado por SO es mostrado por pantalla.
puerto monitor: puerto de escucha de cliente monitor. Es opcional; ante
su ausencia, puerto asignado por SO es mostrado por pantalla.
Si sólo uno se ingresa, corresponde a puerto chat.
charMonitor <puerto_monitor>
charClient [máquina_servidora] [puerto chat]
máquina servidora: Máquina donde corre charServer
puerto char: puerto asociado al servicio chat
Descripción
Chat Server es el servidor chat que corre
centralizadamente para reenviar cada línea recibida hacia todos sus
clientes, incluido aquel que lo envía. Una vez
ejecutado, reportará por consola el número de puerto
donde recibirá los requerimientos chat y el puerto para monitorear
algunas actividades del servidor. chatServer hace uso de protocolo
TCP. Para terminar el cliente monitor debe enviar el comenado "STOP".
Chat Server es basado en hilos para recibir los datos de cada socket.
Se debe asegurar que cada cliente reciba los mensajes en la misma
secuencia. Chat Server además recibe conexiones en puerto_monitor sólo
si el cliente se encuentra en la misma máquina donde corre Chat Server.
Éste sólo responde a dos comandos desde el monitor "STOP" y "STATE",
ante el cual Chat Server responde enviando el número de conexiones Chat
Client siendo atendidas y la cantidad de bytes difundidos por cada
clliente.
Chat Client permite a usuarios intercambiar mensajes
con sus pares gracias al servicio de Chat Server. Al ejecutar Chat
Client, en su consala de ejecución es posible enviar líneas a hacia
todos los usuarios corriendo Chat Client a través de un Chat Server.
Cada línea enviada es precedida por el "user name" del dueño de la
cuenta. Chat Client además lanza una consola adicional para
desplegar los mensajes recibidos. El texto recibido es desplegado línea
a línea en la medida que éstas llegan. Client Chat envía una línea por
vez, recibe y desplega las líneas de todos los otros usuarios
conectados al servidor. Un Chat Client concluye cuando el usuario envía
en mensage "bye".
Chat Monitor permite enviar dos comandos a través del teclado, éstos son "STOP" y "STATE".