import socket import threading from env_var import SERVER_PORT, CLIENT_PORT from utils import receive_messages, send_messages server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server.bind(("localhost", SERVER_PORT)) server.listen(5) print("👥 Chat démarré, en attente de client...") client, client_address = server.accept() print(f"Client connecté : {client_address}") try: username_msg = client.recv(1024).decode("utf-8") if username_msg.startswith("USERNAME:"): client_username = username_msg.split(":", 1)[1] print(f"✅ {client_username} a rejoint le salon.") else: client_username = "Anonyme" except: client_username = "Anonyme" print(f"⚠️ Impossible de recevoir le pseudo du client.") print(f"🤝 Clavardage démarré sur port {SERVER_PORT}.") thread_recv = threading.Thread(target=receive_messages, args=(client,)) thread_send = threading.Thread(target=send_messages, args=(client, "[SERVEUR]")) thread_recv.daemon = False thread_send.daemon = True thread_recv.start() thread_send.start() thread_recv.join() thread_send.join() client.close() server.close() print(f"❌ {client_username} s'est déconnecté. Serveur fermé.")