Рефактор. Сетевой модуль

This commit is contained in:
sasha80
2025-08-27 08:37:30 +03:00
parent 81ad8e3225
commit c2eb1b828f

View File

@@ -99,7 +99,7 @@ func create_socket(nm) -> Socket:
func create_tcpsocket(unit_name: StringName) -> SocketTCP:
var addr = settings.UnitProfiles[unit_name][1]
var port = settings.UnitProfiles[unit_name][2][0]
var sock = SocketTCP.new()
var sock: = SocketTCP.new()
sock.unit_key = unit_name
var rc: = sock.listen(port, addr)
if rc == Error.OK:
@@ -199,7 +199,7 @@ func _ready() -> void:
ProjectSettings.connect('settings_changed', Callable(self, '_on_settings_changed_serial').bind(bind_serials))
tcp_sockets.append([create_tcpsocket('уарэп-5п28'), units_tcp['уарэп-5п28']])
for key in dst_ports:
for key: StringName in dst_ports:
unit_keys[dst_ports[key]] = key
if logger_page:
for key in units:
@@ -246,14 +246,14 @@ func poll_receive_udp(sock: Socket) -> bool:
units[unit_name].parse(data, tick)
continue
if unit_keys.has(port):
var unit_key = unit_keys[port]
var unit_key: = unit_keys[port]
if units.has(unit_key):
units[unit_key].parse(data, tick)
continue
var local_port: = sock.get_local_port()
if unit_keys.has(local_port):
var unit_name = unit_keys[local_port]
var unit_udprx = units[unit_name]
var unit_name: = unit_keys[local_port]
var unit_udprx: = units[unit_name]
unit_udprx.source_addr = [addr, port]
unit_udprx.parse(data, tick)
continue
@@ -311,23 +311,23 @@ func _process(_delta: float) -> void:
tick = Time.get_ticks_msec()
RenderingServer.global_shader_parameter_set('tick_curent', tick)
for key: StringName in units_udp:
var unit_udp = units_udp[key]
var unit_udp: = units_udp[key]
if Error.OK == unit_udp.process(tick):
var sock = send_sockets[unit_udp.name]
var tx_data = unit_udp.tx_data.slice(0, unit_udp.tx_len)
var dst_port = dst_ports[key]
var dst_addr = dst_addrs[key]
var sock: = send_sockets[unit_udp.name]
var tx_data: = unit_udp.tx_data.slice(0, unit_udp.tx_len)
var dst_port: = dst_ports[key]
var dst_addr: = dst_addrs[key]
sock.send_to([dst_addr, dst_port], tx_data)
for key: StringName in units_udprx:
var unit_udprx = units_udprx[key]
var unit_udprx: = units_udprx[key]
unit_udprx.process(tick)
for key: StringName in units_serial:
var unit_serial = units_serial[key]
var serial = serials[key]
var unit_serial: = units_serial[key]
var serial: = serials[key]
if Error.OK == unit_serial.process(tick):
serial.send_to(unit_serial.tx_data)
for key: StringName in units_modbus:
var unit_modbus = units_modbus[key]
var unit_modbus: = units_modbus[key]
unit_modbus.process(tick)
for sock_unit: Array in tcp_sockets:
var sock = sock_unit[0]