From 2daf438fd6902138b4229e21a8d67b02da778599 Mon Sep 17 00:00:00 2001 From: Roy Date: Tue, 20 Dec 2022 13:06:58 +0200 Subject: Modified TCP machines discovery method to MultiCast. --- .../Tango.Transport/Helpers/IPAddressHelper.cs | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Software/Visual_Studio/Tango.Transport/Helpers/IPAddressHelper.cs (limited to 'Software/Visual_Studio/Tango.Transport/Helpers/IPAddressHelper.cs') diff --git a/Software/Visual_Studio/Tango.Transport/Helpers/IPAddressHelper.cs b/Software/Visual_Studio/Tango.Transport/Helpers/IPAddressHelper.cs new file mode 100644 index 000000000..04a15caa3 --- /dev/null +++ b/Software/Visual_Studio/Tango.Transport/Helpers/IPAddressHelper.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.NetworkInformation; +using System.Net.Sockets; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.Transport.Helpers +{ + public static class IPAddressHelper + { + public static string GetLocalIpAddress() + { + foreach (var netI in NetworkInterface.GetAllNetworkInterfaces()) + { + if (netI.NetworkInterfaceType != NetworkInterfaceType.Wireless80211 && + (netI.NetworkInterfaceType != NetworkInterfaceType.Ethernet || + netI.OperationalStatus != OperationalStatus.Up)) continue; + foreach (var uniIpAddrInfo in netI.GetIPProperties().UnicastAddresses.Where(x => netI.GetIPProperties().GatewayAddresses.Count > 0)) + { + + if (uniIpAddrInfo.Address.AddressFamily == AddressFamily.InterNetwork && + uniIpAddrInfo.AddressPreferredLifetime != uint.MaxValue) + return uniIpAddrInfo.Address.ToString(); + } + } + return null; + } + } +} -- cgit v1.3.1