Example #1
0
    def __init__(self):
        # Log attribute
        self.start_time = time.strftime(r"%y-%m-%d %H.%M.%S")
        self.log("Inicializando servidor...")

        # Diccionario a contener los sockets de los clients
        self.host = PARAMETROS["host"]
        self.port = PARAMETROS["port"]
        self.server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        # Other attributes
        self.sockets = dict()
        self.rooms = [
            Room(nombre=f"Sala {i}") for i in range(PARAMETROS["rooms_number"])
        ]
        self.usuarios = {
            usuario.username: usuario
            for usuario in Usuario.get_usuarios()
        }

        self.server_socket.bind((self.host, self.port))
        self.log("Dirección y puerto enlazados..")

        self.server_socket.listen()
        self.log(f"Servidor escuchando en {self.host}:{self.port}...")

        thread = threading.Thread(target=self.login_thread, daemon=True)
        thread.start()
        self.log("Servidor aceptando conexiones...")