diff --git a/server.py b/server.py index bf4da5465296ce81cb4b0aa71bd9414c19bbe104..0183a099b94b3e22dfb00c2075d5861b763de6f1 100644 --- a/server.py +++ b/server.py @@ -28,7 +28,7 @@ def broadcast(message, sender_socket, sender_address): clients.remove(client) # Server-Konfiguration -host = '127.0.0.1' +host = '192.168.2.42' port = 5555 # Socket erstellen und binden @@ -40,14 +40,20 @@ print(f'Server lauscht auf {host}:{port}') # Liste für die verbundenen Clients clients = [] +servers = [server_socket] while True: # Warten auf eine Verbindung - client_socket, client_address = server_socket.accept() + connection_socket, client_address = server_socket.accept() - # Neuen Thread für jeden verbundenen Client erstellen - client_thread = threading.Thread(target=handle_client, args=(client_socket, client_address)) - client_thread.start() + # Wenn eine Verbindung von einem anderen Server kommt, füge ihn zur Serverliste hinzu + if connection_socket != server_socket: + servers.append(connection_socket) + else: + # Neuen Thread für jeden verbundenen Client erstellen + client_thread = threading.Thread(target=handle_client, args=(connection_socket, client_address)) + client_thread.start() + + # Client-Socket zur Liste hinzufügen + clients.append(connection_socket) - # Client-Socket zur Liste hinzufügen - clients.append(client_socket)