From f253a0d9dfc970b0fc7b317a81cc942f23772d26 Mon Sep 17 00:00:00 2001 From: Ting-Jun Wang Date: Fri, 17 May 2024 23:57:58 +0800 Subject: [PATCH] feat: UDP broadcast test --- connection.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/connection.py b/connection.py index d641bdd..15f7681 100644 --- a/connection.py +++ b/connection.py @@ -27,27 +27,30 @@ if __name__ == '__main__': host, port = args.host, args.port if socket_type == 'server': - sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.bind((host, port)) - sock.listen(8) print("Server listening...") while True: - conn, addr = sock.accept() + data, addr = sock.recvfrom(1024) print(f"Accept connection from {addr}") - thread = threading.Thread(target=handle_client, args=(conn, )) - thread.start() - print('RUNNING THREAD') + sock.sendto(host.encode(), addr) + + # thread = threading.Thread(target=handle_client, args=(conn, )) + # thread.start() else: - sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - sock.connect((host, port)) + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) + sock.settimeout(2) + + sock.sendto('discover'.encode(), ('255.255.255.255', port)) while True: - data = sock.recv(1024) - print(data.decode()) + data, addr = sock.recvfrom(1024) + print(data.decode(), addr)