# udp_client.py import socket import logging logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(message)s') def run_udp_client(): """UDP клиент - подключение без установки соединения""" SERVER_HOST = '127.0.0.1' SERVER_PORT = 10001 with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as client_socket: # UDP не требует connect(), но можно вызвать для удобства # client_socket.connect((SERVER_HOST, SERVER_PORT)) messages = [ "Hello UDP Server!", "UDP быстрее, но ненадежнее", "EXIT" ] for message in messages: logging.info(f"📤 Отправка UDP: {message}") # Отправляем дейтаграмму client_socket.sendto(message.encode('utf-8'), (SERVER_HOST, SERVER_PORT)) # Получаем ответ (с таймаутом) client_socket.settimeout(2) try: response, server_address = client_socket.recvfrom(1024) logging.info(f"📥 Ответ: {response.decode('utf-8')}") except socket.timeout: logging.warning("⚠️ Таймаут: ответ не получен") import time time.sleep(1) if __name__ == '__main__': run_udp_client()