Vous êtes sur la page 1sur 2

import socket

import threading

# Adresse IP et port du serveur


HOST = '127.0.0.1'
PORT = 5555

# Création d'une socket TCP


server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((HOST, PORT))
server_socket.listen()

# Liste des clients connectés


clients = []

# Fonction pour gérer les messages d'un client


def handle_client(client_socket, addr):
while True:
try:
# Recevoir le message du client
message = client_socket.recv(1024).decode('utf-8')
if not message:
# Si le message est vide, le client s'est déconnecté
print(f"{addr} s'est déconnecté.")
clients.remove(client_socket)
break

# Afficher le message du client


print(f"Message de {addr}: {message}")

# Envoyer le message à tous les autres clients


for c in clients:
if c != client_socket:
c.send(message.encode('utf-8'))

except:
# En cas d'erreur, déconnexion du client
clients.remove(client_socket)
break

# Boucle principale du serveur


while True:
# Attendre une connexion
client_socket, addr = server_socket.accept()
clients.append(client_socket)

# Démarrer un thread pour gérer le client


client_handler = threading.Thread(target=handle_client,
args=(client_socket, addr))
client_handler.start()

Vous aimerez peut-être aussi