From 7676966c9ca70b6ff98ab8cf1cdd9b47c083b0be Mon Sep 17 00:00:00 2001 From: sasha80 Date: Wed, 12 Feb 2025 13:20:29 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5.=20=D0=A1=D0=BE=D0=BE=D0=B1=D1=89?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=AF=D0=A3-07?= =?UTF-8?q?=20=D0=BE=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D1=8F=D1=8E=D1=82?= =?UTF-8?q?=D1=81=D1=8F=20=D0=B8=D0=B7=20=D0=BD=D0=B5=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9=20=D0=BF=D0=BE=D0=B4?= =?UTF-8?q?=D1=81=D0=B5=D1=82=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/network.gd | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/scripts/network.gd b/scripts/network.gd index fd7fbda..04d027a 100644 --- a/scripts/network.gd +++ b/scripts/network.gd @@ -82,6 +82,7 @@ var unit_keys: Dictionary var sock_unicast: Socket var sock_capsrpb: Socket var logger_page: Node +var send_sockets: Dictionary # Таблица <имяустройста>: <сокет> для отправки сообщений func on_serial_data(data, unit): unit.parse(data, tick) @@ -140,6 +141,23 @@ func _ready() -> void: sock_unicast = poll_sockets[0] sock_capsrpb = poll_sockets[2] + send_sockets['уарэп-яу07-частный'] = sock_unicast + send_sockets['уарэп-яу07-общий'] = poll_sockets[1] + send_sockets['уарэп-капсрпб'] = sock_capsrpb + send_sockets['уарэп-эмс'] = sock_unicast + send_sockets['уарэп-яу07-2в'] = sock_unicast + send_sockets['уарэп-яу07-2н'] = sock_unicast + send_sockets['уарэп-яу07-2к'] = sock_unicast + send_sockets['уарэп-яу07-4в'] = sock_unicast + send_sockets['уарэп-яу07-4н'] = sock_unicast + send_sockets['уарэп-яу07-4к'] = sock_unicast + send_sockets['уарэп-яу07-1в'] = sock_unicast + send_sockets['уарэп-яу07-1н'] = sock_unicast + send_sockets['уарэп-яу07-1к'] = sock_unicast + send_sockets['уарэп-яу07-3в'] = sock_unicast + send_sockets['уарэп-яу07-3н'] = sock_unicast + send_sockets['уарэп-яу07-3к'] = sock_unicast + for unit_name in settings.UnitProfiles: var st = settings.UnitProfiles[unit_name] var proto = st[0] @@ -266,8 +284,11 @@ func _process(_delta: float) -> void: for addr in units_udp: var unit = units[addr] match unit.process(tick): - Error.OK: sock_unicast.send_to([addr[0], dst_ports[addr]], unit.tx_data.slice(0, unit.tx_len)) - Error.FAILED: emit_signal('socket_error', [unit, sock_unicast]) + Error.OK: + var sock = send_sockets[unit.name] + sock.send_to([addr[0], dst_ports[addr]], unit.tx_data.slice(0, unit.tx_len)) + Error.FAILED: + emit_signal('socket_error', [unit, sock_unicast]) for key in units_serial: var unit_serial = units_serial[key] var serial = serials[key]