diff --git a/app/chat.py b/app/chat.py index 17b449a..b9f905c 100644 --- a/app/chat.py +++ b/app/chat.py @@ -1,7 +1,6 @@ import socket import threading - class Chat: def __init__(self, server='127.0.0.1', port=3333): self.server = server @@ -17,6 +16,7 @@ class Chat: self.client_socket.connect((self.server, self.port)) self.connected = True print("Conectado al servidor de chat.") + self.escuchar_mensajes() except Exception as e: print(f"Error, no se pudo conectar al servidor: {e}") self.connected = False @@ -30,3 +30,26 @@ class Chat: print("Mensaje Enviado") except Exception as e: raise ConnectionError(f"Error al enviar el mensaje: {e}") + + def escuchar_mensajes(self): + """Escucha mensajes entrantes desde el servidor.""" + def recibir(): + while self.connected: + try: + mensaje = self.client_socket.recv(1024) + if mensaje: + mensaje_decodificado = mensaje.decode('utf-8') + self.mensajes_recibidos.append(mensaje_decodificado) + print(f"Mensaje recibido: {mensaje_decodificado}") + else: + print("El servidor cerró la conexión.") + self.connected = False + break + except Exception as e: + print(f"Error al recibir mensajes: {e}") + self.connected = False + break + + print("Iniciando escucha de mensajes...") + thread = threading.Thread(target=recibir, daemon=True) + thread.start()