I want to organize UDP transmission in question-answer format. But the first message does not pass (the first file is sent, but the second one does not accept). At the same time, if you remove the forwarding of the second message, the first starts to work in a magical way.
First file
import socket import struct ########################################################## Клиент UDP_send = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) host_send = "127.0.0.1" port_send = 25001 addr_send = (host_send, port_send) ########################################################## Сервер UDP_rsv = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) host_rsv = "127.0.0.1" port_rsv = 25002 addr_rsv = (host_rsv, port_rsv) UDP_rsv.bind(addr_rsv) UDP_rsv.settimeout(15) while True: s = 1212.25544 data_send = struct.pack('d', s) UDP_send.sendto(data_send, addr_send) # получение ответа try: pr_rsv_ansvr = UDP_rsv.recvfrom(1024) except socket.timeout: pass pr_rsv_ansvr = struct.unpack('d', pr_rsv_ansvr) Second file
import socket import struct ########################################################## Клиент UDP_send = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) host_send = "127.0.0.1" port_send = 25002 addr_send = (host_send, port_send) ########################################################## Сервер UDP_rsv = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) host_rsv = "127.0.0.1" port_rsv = 25001 addr_rsv = (host_rsv, port_rsv) UDP_rsv.bind(addr_rsv) UDP_rsv.settimeout(15) while True: try: data_rsv, addr = UDP_rsv.recvfrom(1024) except socket.timeout: pass key = struct.unpack('d', data_rsv) # send ansvr pr_send_ansvr = struct.pack('d', 1010.1010) UDP_send.sendto(pr_send_ansvr, addr_send)