static void InitializeBroadcastIPs() { //broadcastIPs = new List <IPAddress>(); foreach (NetworkInterface iface in NetworkInterface.GetAllNetworkInterfaces()) { //Debug.Log(iface.Description); foreach (IPAddressInformation ucastInfo in iface.GetIPProperties().UnicastAddresses) { if (IPAddress.IsLoopback(ucastInfo.Address) || ucastInfo.Address.AddressFamily == AddressFamily.InterNetworkV6) { continue; } IPAddress mask = IPAddress.Parse(ReturnSubnetmask(ucastInfo.Address.ToString())); byte[] ipAdressBytes = ucastInfo.Address.GetAddressBytes(); byte[] subnetMaskBytes = mask.GetAddressBytes(); if (ipAdressBytes.Length != subnetMaskBytes.Length) { continue; } var broadcast = new byte[ipAdressBytes.Length]; for (int i = 0; i < broadcast.Length; i++) { broadcast[i] = (byte)(ipAdressBytes[i] | ~(subnetMaskBytes[i])); } IPAddress broadcastIP = new IPAddress(broadcast); Debug.Log(ucastInfo.Address.AddressFamily.ToString() + "\n" + "\tIP : " + ucastInfo.Address.ToString() + "\n" + "\tSubnet : " + mask.ToString() + "\n" + "\tBroadcast: " + (broadcastIP).ToString()); NetworkConection newConnection = new NetworkConection(); newConnection.broadcast = broadcastIP; newConnection.ip = ucastInfo.Address; _interfaces.Add(newConnection); } } }
static void InitializeBroadcastIPs() { //broadcastIPs = new List <IPAddress>(); foreach (NetworkInterface iface in NetworkInterface.GetAllNetworkInterfaces()) { //Debug.Log(iface.Description); foreach (IPAddressInformation ucastInfo in iface.GetIPProperties().UnicastAddresses) { if (IPAddress.IsLoopback(ucastInfo.Address) || ucastInfo.Address.AddressFamily == AddressFamily.InterNetworkV6) continue; IPAddress mask = IPAddress.Parse(ReturnSubnetmask(ucastInfo.Address.ToString())); byte[] ipAdressBytes = ucastInfo.Address.GetAddressBytes(); byte[] subnetMaskBytes = mask.GetAddressBytes(); if (ipAdressBytes.Length != subnetMaskBytes.Length) continue; var broadcast = new byte[ipAdressBytes.Length]; for (int i = 0; i < broadcast.Length; i++) { broadcast[i] = (byte)(ipAdressBytes[i] | ~(subnetMaskBytes[i])); } IPAddress broadcastIP = new IPAddress(broadcast); Debug.Log(ucastInfo.Address.AddressFamily.ToString() + "\n" + "\tIP : " + ucastInfo.Address.ToString()+"\n"+"\tSubnet : " + mask.ToString() + "\n" + "\tBroadcast: " + (broadcastIP).ToString()); NetworkConection newConnection = new NetworkConection (); newConnection.broadcast = broadcastIP; newConnection.ip = ucastInfo.Address; _interfaces.Add(newConnection); } } }