44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
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é.") |