ELO_330 - TAREA N° 4. Carlos Silva Lütty, Andrés Cerón Corrales csl (at) ELO UTFSM CL, aceron (at) ELO UTFSM CL |
Nombre: ChatServer: Servidor de Chat. Sintaxis: ChatServer <puerto_listen> ChatServer por defecto puerto: 12468 Descripción Import Files ChatServer.java, ChatHandler.java Nombre: ChatClient: Cliente de Chat. Sintaxis: ChatClient <user> <host> <port_server> ChatClient <user> <port_server> ChatClient <user> por defecto puerto: 12468 host: localhost (127.0.0.1) Descripción Import java.net, java.io, java.util, java.awt, java.awt.event, javax.swing, javax.sound.sampled Files ChatClient.java, ChatViewer.java, ding.wav, Ring.wav SOLUCIÓN para descomprimir: tar -jxvf chat.tar.bz2 JAVADOC del proyecto |
README.txt En este archivo se incluye una descripción de la labor de cada archivo y su función como bloque del diseño de la solución. Presione sobre el nombre del archivo para ver su contenido. build.sh chat.png |
Material de apoyo: |
Algunas Virtudes y su Explicación: Capacidad para elegir color del texto en el cliente y desplegar los colores en la ventana de diálogo. Cada cliente crea un archivo de texto al conectarse y lo escribe con formato html. Este archivo es eliminado al cerrar el cliente. La clase JEditorPane maneja archivos con formato. La clase JColorChooser permite agregar una paleta para seleccionar colores. Al enviar el texto se guarda el color como string y se envía junto al mensaje. Al resivir mensajes, se recupera el color y luego se escribe con formato en el archivo creado. Luego se lee el archivo y se despliega en la ventana de diálogo. ---------------------------------- Capacidad para reproducir sonidos de alerta. El cliente incluye 2 sonidos. Uno es reproducido cada vez que alguien ingresa al chat y el otro cuando alguien lo abandona. El paquete Sound.Sampled incluye clases necesarias para manejar sonido. ---------------------------------- Capacidad para desplegar la lista de usuarios en línea. Se agrega capacidad de reconocer encabezados en los mensajes. "->" indica el usuario que viene llegando al salón. "<-" indica el usuario que abandona el chat. Se agrega al cliente visual un JTextArea donde se escribe un String con todos los usuarios que están on-line en ese momento. El archivo es actualizado en todos los clientes cada vez que se produce un evento de conexión (ingreso o salida de un cliente). Bugs, aclaración y sugerencia: Actualización de lista de usuarios on-line. El último cliente en conectarse no recibe la lista actualizada de usuarios on-line. Se estudió el problema pensando que tenía que ver con la lista de usuarios en el distribuidor (ChatHandler.java) de mensajes, pero no se resolvió el problema. Esto ocurre sólo en algunos casos, es por esto que no se detectó la avería. Se propone revisar el tutorial para manejar listas y ver la documentación de la Clase JList. |