32 lines
683 B
Python
32 lines
683 B
Python
import socket
|
|
|
|
|
|
def main():
|
|
udp_c = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
|
udp_c.bind(("127.0.0.1", 1234))
|
|
|
|
addr_list = []
|
|
|
|
while True:
|
|
b_data, addr = udp_c.recvfrom(4096)
|
|
print(f"Received from {addr}: {b_data.decode('utf-8')}")
|
|
|
|
if addr not in addr_list:
|
|
addr_list.append(addr)
|
|
|
|
if b_data.decode("utf-8") == "stop":
|
|
print("Stopping server...")
|
|
break
|
|
|
|
for laddr in addr_list:
|
|
if laddr == addr:
|
|
continue
|
|
print(f"Sending to {laddr}: {b_data}")
|
|
udp_c.sendto(b_data, laddr)
|
|
|
|
udp_c.close()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|