diff --git a/Server_A.py b/Server_A.py index 11ae53c8b50f5be7e0455789f4b67ed0fbf44e14..577ca45cd2169a7629e784a5823b615d7eb65a15 100644 --- a/Server_A.py +++ b/Server_A.py @@ -24,16 +24,17 @@ server_id = str(uuid.uuid4()) #print(hostIP) dynamic.broadcast_sender(leaderServer.broadcast_ip, leaderServer.broadcast_port, server_adress, server_id) - +print(f"send broadcast of server a id: {server_id}")#debug while True: - print(leaderServer.leader) - print(leaderServer.server_network) + print(f"server a before broadcast sender: {leaderServer.leader}") + print(f"server a before broadcast sender: {leaderServer.server_network}") data = dynamic.broadcast_listener(leaderServer.broadcast_ip, leaderServer.broadcast_port) - print(leaderServer.server_network) + #data = leaderServer.leader + print(f"after broadcast sender: {leaderServer.server_network}") if data: - x = data - print(x) + #x = data + print(data) # if d in leaderServer.leader: # leaderServer.server_network = leaderServer.addServer(data) # dynamic.broadcast_sender(leaderServer.broadcast_ip, leaderServer.broadcast_port, leaderServer.server_network) diff --git a/Server_B.py b/Server_B.py index cf6813549fb7f2bc23956dd705f293c523933737..7c40ea3e63e739346b97981051752734b7a285cb 100644 --- a/Server_B.py +++ b/Server_B.py @@ -19,12 +19,13 @@ server_id = str(uuid.uuid4()) hostName = socket.gethostname() # IP des Rechners im Subnetz hostIP = socket.gethostbyname(hostName) -print(leaderServer.leader) -print(leaderServer.server_network) +print(f"server b before broadcast sender: {leaderServer.leader}") +print(f"server b before broadcast sender: {leaderServer.server_network}") dynamic.broadcast_sender(leaderServer.broadcast_ip, leaderServer.broadcast_port, server_adress, server_id) - +print(f"send broadcast of server b id: {server_id}")#debug while True: server_network = dynamic.broadcast_listener(leaderServer.broadcast_ip, leaderServer.broadcast_port) - print(server_network) + print(f"server in network: {leaderServer.server_network}") + print(f"leader in network: {leaderServer.leader}") diff --git a/__pycache__/dynamic.cpython-313.pyc b/__pycache__/dynamic.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1c33a1d9ccfbfdd830d9f1d250def00837c5e3af Binary files /dev/null and b/__pycache__/dynamic.cpython-313.pyc differ diff --git a/__pycache__/leaderServer.cpython-313.pyc b/__pycache__/leaderServer.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e99351ab7fe318c165e2d5367bf5f7d80d6c7f38 Binary files /dev/null and b/__pycache__/leaderServer.cpython-313.pyc differ diff --git a/dynamic.py b/dynamic.py index 07b4331076e56a97c1113202fecb14961d1441ad..86591dd6e2ed505f8e5ecb2be95cd7afaf60c3b1 100644 --- a/dynamic.py +++ b/dynamic.py @@ -18,19 +18,22 @@ buffer_size = 4096 def broadcast_sender(broadcast_ip, broadcast_port, server_ip, server_uuid): #create UDP socket broadcast_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) - print(leaderServer.leader) + #print(leaderServer.leader) + message = f"{server_ip}::{server_uuid}" if len(leaderServer.leader) == 0: leaderServer.addLeader(server_uuid) leaderServer.addServer(server_ip) - print(leaderServer.leader) - print(leaderServer.server_network) + print(f"Hi {leaderServer.leader}") + print(f'Hi {leaderServer.server_network}') + broadcast_socket.sendto(str(message).encode(), (broadcast_ip, broadcast_port))#for debug else: - # send message - broadcast_socket.sendto(str(server_ip).encode(), (broadcast_ip, broadcast_port)) + #send message + broadcast_socket.sendto(str(message).encode(), (broadcast_ip, broadcast_port)) + print(f'else {leaderServer.server_network}')#for debug def broadcast_listener(ip_adress, port): - print(leaderServer.leader) + print(f"listener{leaderServer.leader}")#f for debug print(leaderServer.server_network) #UDP socket listen_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) @@ -42,9 +45,17 @@ def broadcast_listener(ip_adress, port): print('listener up and run at {} : {}'.format(ip_adress, port)) data, address = listen_socket.recvfrom(buffer_size) - #hier jetzt async einbauen für ständige listen? - + message=data.decode() + server_ip, server_uuid = message.split("::") + + #if len(leaderServer.leader) == 0: + leaderServer.addLeader(server_uuid) + leaderServer.addServer(server_ip) + print(f"Hi {leaderServer.leader}") + print(f'Hi {leaderServer.server_network}') + print("Broadcast recieved from Sender: ", data.decode()) + print(f"this is address: {address}") return data.decode() diff --git a/leaderServer.py b/leaderServer.py index f0ced9176fd187d96eefa1565ec617e9dd7b9ebf..1cfcbc69a6c9c6c0da9274b3da72eb71af021afb 100644 --- a/leaderServer.py +++ b/leaderServer.py @@ -5,7 +5,7 @@ # Broadcast Informationen -broadcast_ip = '127.0.0.255' +broadcast_ip = '127.0.0.255' #192.168.1.255 broadcast_port = 5000 # Alle IP adressen der beteiligten Server @@ -25,7 +25,7 @@ def addServer(Server_ip): # Leader hinzufügen def addLeader(server_uuid): leader.append(server_uuid) - return + #return leader # löschen eines Servers def deleteServer(server_ip):