Skip to content
Snippets Groups Projects
Commit 7b56a0a0 authored by Alexander Schulz's avatar Alexander Schulz
Browse files

feedback when non existing group selected

parent 0d7bdd18
No related branches found
No related tags found
No related merge requests found
......@@ -14,10 +14,15 @@ class Client(multiprocessing.Process):
def run(self):
print("Client: Up and running")
while True:
action = input("Client: Enter type of action ('r' to register): ")
if (action == "r"):
group = input("Client: Which group dou you want to join? ")
self.register("register", group)
success = self.register("register", group)
if success == 0:
continue
send_thread = threading.Thread(target=self.send_message)
receive_thread = threading.Thread(target=self.receive_messages)
......@@ -31,9 +36,6 @@ class Client(multiprocessing.Process):
send_thread.join()
receive_thread.join()
else:
message = input("Client: Enter message:")
print(message)
def register(self, message_type, message_group):
PORT = 49153
......@@ -49,6 +51,9 @@ class Client(multiprocessing.Process):
print('Client: Received message from server: ', data.decode('utf-8'))
if data.decode('utf-8') == "Group does not exist":
success = 0
else:
# search for server ip_address in message from server
ip_pattern = r'\b(?:\d{1,3}\.){3}\d{1,3}\b'
matches = re.findall(ip_pattern, data.decode('utf-8'))
......@@ -59,8 +64,12 @@ class Client(multiprocessing.Process):
#self.registered_server = server
print("Client: My server: ", self.registered_server_address)
success = 1
broadcast_socket.close()
return success
def send_message(self):
PORT = 50001
......
......
......@@ -456,6 +456,7 @@ class Server(multiprocessing.Process):
if group not in self.local_group_cache:
print(self.server_id+": "+"Group "+group+" doesn't exist.")
self.send_negative_reply_to_client(client_addr)
else:
print(self.server_id+": "+"Group "+group+" exists")
......@@ -482,6 +483,14 @@ class Server(multiprocessing.Process):
return addr
def send_negative_reply_to_client(self, client_addr):
PORT = 1001
message = "Group does not exist"
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_socket.connect((self.server_address, PORT))
server_socket.sendto(str.encode(message), client_addr)
server_socket.close()
def send_reply_to_client(self, server_addr, client_addr):
PORT = 1000
message = 'Hi ' + client_addr[0] + ' this is your groupchat server: ' + server_addr
......
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment