From 772aac5ea7859be84a423e97282434578d03c397 Mon Sep 17 00:00:00 2001 From: Florent Berthaut <florent.berthaut@univ-lille.fr> Date: Thu, 19 Oct 2023 15:42:06 +0200 Subject: [PATCH] Fixed network --- core/IvmiScene.gd | 5 +---- core/net/GodOSC.gd | 11 ++++++++++- core/net/IvmiDiscov.gd | 7 +++---- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/core/IvmiScene.gd b/core/IvmiScene.gd index be13df7..839dbb7 100644 --- a/core/IvmiScene.gd +++ b/core/IvmiScene.gd @@ -245,10 +245,7 @@ func _process(delta) : _osc_output_address = peer["address"] _osc_output_port = peer["port"] _osc_to_pd.set_output(_osc_output_address, _osc_output_port) - var local_addr = "127.0.0.1" - for addr in IP.get_local_addresses() : - if not ":" in addr and addr!="127.0.0.1": - local_addr = addr + var local_addr = _osc_to_pd.get_local_address() _osc_to_pd.send_msg("/ivmi/hello_from_gd","sf",[local_addr, _input_port]) PdMode.LIBPD : #libpd mode diff --git a/core/net/GodOSC.gd b/core/net/GodOSC.gd index b04890f..a631b8f 100644 --- a/core/net/GodOSC.gd +++ b/core/net/GodOSC.gd @@ -44,10 +44,19 @@ func has_msg() : func get_msg() : return _unpack_osc(_socket.get_packet()) - + func get_last_peer() : return {"address":_socket.get_packet_ip(), "port":_socket.get_packet_port()} +func get_local_address() -> String : + var address : String = "127.0.0.1" + + var addrs = IP.get_local_addresses() + for a in addrs : + if a!="127.0.0.1" and not a.contains(":") and not a.begins_with("169.") : + address=a + return address + func _make_osc_string(s,buff) : buff.put_data(s.to_ascii_buffer()) buff.put_u8(0) diff --git a/core/net/IvmiDiscov.gd b/core/net/IvmiDiscov.gd index c80801c..1d84175 100644 --- a/core/net/IvmiDiscov.gd +++ b/core/net/IvmiDiscov.gd @@ -31,11 +31,10 @@ func start() : _osc_discov.set_input_port(mcprt) _osc_discov.set_multicast(mcadd) + print(_osc_discov.get_local_address()) + #retrieve local address - _local_addr = "127.0.0.1" - for addr in IP.get_local_addresses() : - if addr!="127.0.0.1" and not ":" in addr : - _local_addr = addr + _local_addr = _osc_discov.get_local_address() func _process(delta) : #when server send ping to multicast -- GitLab