import socket
import threading


class Chat:
    def __init__(self, server='127.0.0.1', port=3333):
        self.server = server
        self.port = port
        self.client_socket = None
        self.connected = False
        self.mensajes_recibidos = []

    def conectar_al_servidor(self):
        """Conectar al servidor de chat."""
        try:
            self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            self.client_socket.connect((self.server, self.port))
            self.connected = True
            print("Conectado al servidor de chat.")
        except Exception as e:
            print(f"Error, no se pudo conectar al servidor: {e}")
            self.connected = False

    def enviar_mensaje(self, mensaje):
        """Enviar un mensaje al servidor."""
        if not self.connected:
            raise ConnectionError("No estás conectado al servidor.")
        try:
            self.client_socket.send(mensaje.encode('utf-8'))
            print("Mensaje Enviado")
        except Exception as e:
            raise ConnectionError(f"Error al enviar el mensaje: {e}")
