From 7e98b80405ff743a2d70d4d4b6f72b14c7b09355 Mon Sep 17 00:00:00 2001
From: Katharina <katharina.willig@outlook.com>
Date: Mon, 25 Nov 2024 22:42:31 +0100
Subject: [PATCH] f

---
 kclient.py | 13 ++++++++++---
 server.py  |  8 ++++----
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/kclient.py b/kclient.py
index 5becb12..28dff6f 100644
--- a/kclient.py
+++ b/kclient.py
@@ -14,6 +14,8 @@ MY_IP = socket.gethostbyname(MY_HOST)
 print(f"Listening for leader response on {broadcast_ip}:{broadcast_port}...")
 print(MY_HOST,MY_IP)
 
+#stop_listening = False  # control for listener
+
 # create client-socket for broadcast
 client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
 client_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
@@ -36,8 +38,8 @@ def listen():
             #    continue
 
             #ignores broadcast messages with own ip #################please enable it after testing!!!!!!!!!!!!!!!!!!!S
-            if address[0]==MY_IP:
-                continue
+            #if address[0]==MY_IP:
+            #    continue
 
 #####identifyLEADER############
             # Erkennen von LEADER-Nachrichten
@@ -45,8 +47,11 @@ def listen():
                 leader_uuid = decoded_message.split(": ")[1]
                 print(f"Leader discovered: {leader_uuid} at {address[0]}:{address[1]}")
                 leader_address = (address[0], broadcast_port)  # IP-Adresse des Leaders speichern
+                #print(leader_address)
                 continue
 #################################
+            if "HEARTBEAT:" in decoded_message:
+                continue
             
             print(decoded_message)
 
@@ -64,6 +69,8 @@ def request_leader():
     timeout = time.time() + 5  # 10 Sekunden auf Antwort warten
     while time.time() < timeout:
         if leader_address:
+            #print("leader address:", leader_address)
+            #client_socket.sendto("REQUEST_LEAD finish".encode(), leader_address)
             return
         time.sleep(0.5)  # Warten, bis eine Antwort vom Leader eintrifft
     #print("No leader found. Unable to send messages.")
@@ -84,7 +91,7 @@ def sender():
     just_nickname= f"{nickname} entered the chat".encode()
     #client_socket.sendto(just_nickname, (broadcast_ip, broadcast_port))
     client_socket.sendto(just_nickname, leader_address)
-
+    #print("is it leader adresse here", leader_address)
     while True:
         #allows the client to send any message
         message = input("")
diff --git a/server.py b/server.py
index 9e3afad..3559eae 100644
--- a/server.py
+++ b/server.py
@@ -49,7 +49,7 @@ def listen(queue, shared_data):
 
             if "REQUEST_LEAD" in decoded_message:
                 if shared_data['current_leader']:
-                    while True:
+                    #while "REQUEST_LEAD finish" not in decoded_message:
                         response = f"LEADER: {shared_data['current_leader']}".encode()
                         time.sleep(2) #wait before sending response that client can prepare for answer
                         server_socket.sendto(response, (broadcast_ip, broadcast_port))
@@ -82,9 +82,9 @@ def start_election(queue, shared_data):
     while time.time() < timeout:
         try:
             message = queue.get(timeout=1) #waits 1 sec for a message
-            if shared_data['server_id']==sender_uuid:
-                    continue
-            elif "START_ELECTION" in message:
+            #if shared_data['server_id']==sender_uuid:
+            #        continue
+            if "START_ELECTION" in message:
                 sender_uuid = message.split(": ")[1]
                 active_servers[sender_uuid] = time.time()
                 print(f"Received UUID for election: {sender_uuid}")
-- 
GitLab