0% encontró este documento útil (0 votos)
32 vistas3 páginas

Reporte Chat Sis - Ope

Este documento resume un proyecto de chat cliente-servidor desarrollado con sockets en Java. El servidor escucha conexiones entrantes y mantiene un registro de usuarios conectados, mientras que el cliente permite enviar y recibir mensajes privados y de grupo. Ambas aplicaciones implementan interfaces gráficas y hilos para permitir la comunicación simultánea entre múltiples usuarios. El proyecto ayudó a los estudiantes a comprender cómo los sockets pueden usarse para transferir información en red de forma asíncrona.

Cargado por

Jorge T Cruz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
32 vistas3 páginas

Reporte Chat Sis - Ope

Este documento resume un proyecto de chat cliente-servidor desarrollado con sockets en Java. El servidor escucha conexiones entrantes y mantiene un registro de usuarios conectados, mientras que el cliente permite enviar y recibir mensajes privados y de grupo. Ambas aplicaciones implementan interfaces gráficas y hilos para permitir la comunicación simultánea entre múltiples usuarios. El proyecto ayudó a los estudiantes a comprender cómo los sockets pueden usarse para transferir información en red de forma asíncrona.

Cargado por

Jorge T Cruz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

REPORTE DE CHAT :

SISTEMAS OPERATIVOS 2

JOSE MANUEL SOSA CRUZ, JORGE ALVERTO CRUZ TORRES,


JOEL MARTINEZ RODRIGUEZ
28 DE NOVIEMBRE DE 2023
INTRODUCCION:

Durante la presente unidad se trabajó con un nuevo concepto para nuestro entorno que serían los
sockets dentro de java al principio se nos complicó un poco el hecho de con estos tendremos que
echar a andar un servidor y un cliente ,Al inicio de esta práctica se pensó que se traba de que
nosotros aprendiéramos como es que era la convivencia entre un cliente y un servidor pero en
realidad se trataba de algo un poco más ambicioso ,la respuesta llegaría más tarde con la
implementación de hilos que para fines prácticos dejaban hacer varios procesos al mismo tiempo
sin que el servidor colapsara .Entonces fue que se nos encomendó la tarea que ese cliente-servidor
se convirtiera en un chat en el cual pudiéramos mostrar o mejor dicho visualizar desde un servidor
quien se conectaba ,a que hora se conectaba y en que momento se retiraba por parte del cliente
algunas de las cosas mas resaltantes que se requisaron fue se pudiera comunicar en un grupo con
varios usuarios más y también poder tener la capacidad de poder comunicarse de manera privada
con otros usuarios.

DESARROLLO:

Una de las cosas que se hicieron en primera estancia fue crear un servidor, en este caso el servidor
ya no será para uso local en una maquino si no que una maquina estaría destinada a ser un
servidor, poniendo en práctica lo que se había aprendido en las anteriores practicas se generó un
código para el servidor el cual esta preparado para poder recibir información de diferentes
máquinas de forma simultánea.

Una vez creado el código se puede pasar a generar un interfaz grafica para el servidor esta seria
sencilla ya que en funcionamiento sería similar a un cmd que solo mostraría texto claro que la
apariencia sería más amigable y organizada ya que su finalidad de esta ventana es el mostrar a los
miembros que estén conectados al servidor, la hora de sus conexiones y con quienes interactúan.

Por parte del lado del cliente se genero una interfaz gráfica más refinada que esta compuesta por
un área de texto (historial) para mostrar los mensajes, un campo de texto (mensaje) para escribir
mensajes, y botones para enviar mensajes y cerrar la aplicación.

FUNCIONAMIENTO:

SERVIDOR

• Interfaz gráfica del servidor: Se utiliza Swing para crear la interfaz gráfica del servidor. Al
igual que en el cliente, hay un área de texto (historial) para mostrar mensajes y un botón
de cerrar (cerrar).

• Iniciando el servidor: En el constructor de la clase Server, se inicia un hilo (Runnable) para


manejar la lógica del servidor. Este hilo escucha en un ServerSocket en el puerto 1024.

• Recepción y envío de mensajes: En el hilo del servidor (run), el servidor acepta conexiones
de clientes a través de un ServerSocket. Luego, utiliza un ObjectInputStream para recibir
un objeto Paquete1 que contiene detalles sobre el mensaje enviado por el cliente. El
servidor procesa este mensaje y, si no es un mensaje "Online", reenvía el mensaje a un
destinatario específico.

• Detección de usuarios en línea: Si el mensaje recibido es "Online", el servidor actualiza su


lista interna de clientes conectados (lista2) y envía esta lista a todos los clientes
conectados. También muestra en el área de texto (historial) que un nuevo cliente se ha
conectado.

• Cierre de la aplicación: Al presionar el botón de cerrar (cerrar), la aplicación se cierra con


System.exit(0).

CLIENTE

• Envío de mensajes: Cuando el usuario presiona el botón de enviar (enviar), se establece


una conexión con el servidor a través de un nuevo socket y se envía un objeto Paquete1
con los detalles del mensaje.

• Recepción de mensajes: Hay un hilo (Runnable) que escucha continuamente en un


ServerSocket para recibir mensajes del servidor. Los mensajes recibidos se muestran en el
área de texto historial. También parece haber lógica para manejar la recepción de
mensajes "Online" que actualiza la lista de usuarios conectados.

• Control de usuarios: Existe la clase Controles que parece representar la información de


otro cliente conectado, como su dirección IP, nombre y puerto.

• Serialización: Las clases Paquete1 y Controles implementan la interfaz Serializable para


que puedan ser convertidas en bytes y enviadas a través de la red.

• Cierre de la aplicación: Al presionar el botón de cerrar (cerrar1), el programa se cierra con


System.exit(0).

CONCLUSION:

Al terminar con este proyecto nos ayudo a comprender que los sockets pueden ser usados en
muchas otras cosas desde poder enviar información de un lado a otro hasta poder dar indicaciones
mas complejas de las que aun no comprendemos del todo.

También podría gustarte