import socket import time def broadcast_chat(): sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) sock.bind(('0.0.0.0', 10001)) while True: sock.settimeout(0.5) try: data, addr = sock.recvfrom(1024) print(f"\n[Сообщение от {addr[0]}] {data.decode()}") except socket.timeout: pass try: message = input("Ваше сообщение: ") if message.lower() == 'exit': print("Выход из чата...") break sock.sendto(message.encode(), ('255.255.255.255', 10001)) print(f"[Вы отправили] {message}") except KeyboardInterrupt: print("\nВыход...") break sock.close() if name == "main": broadcast_chat()