Esempio n. 1
0
        public AndroidIPGlobalStatistics(bool ipv4)
        {
            AndroidNetworkInterface[] networkInterfaces = NetworkInterfacePal.GetAndroidNetworkInterfaces();

            foreach (var networkInterface in networkInterfaces)
            {
                var component = ipv4 ? NetworkInterfaceComponent.IPv4 : NetworkInterfaceComponent.IPv6;
                if (networkInterface.Supports(component))
                {
                    NumberOfInterfaces++;
                }

                foreach (UnixUnicastIPAddressInformation addressInformation in networkInterface.UnicastAddress)
                {
                    bool isIPv4 = addressInformation.Address.AddressFamily == AddressFamily.InterNetwork;
                    if (isIPv4 == ipv4)
                    {
                        NumberOfIPAddresses++;
                    }
                }

                if (networkInterface.MulticastAddresess != null)
                {
                    foreach (IPAddress address in networkInterface.MulticastAddresess)
                    {
                        bool isIPv4 = address.AddressFamily == AddressFamily.InterNetwork;
                        if (isIPv4 == ipv4)
                        {
                            NumberOfIPAddresses++;
                        }
                    }
                }
            }
        }