예제 #1
0
        private static BitVector Ip6ToBitVector(string ip)
        {
            var elements = ip.Split(':');
            var bv       = new BitVector();

            // only the first three? parts are significant for geolocation
            for (var index = 0; index < Math.Min(elements.Length, 3); index++)
            {
                var h = elements[index];
                bv.AddData(
                    string.IsNullOrEmpty(h)
                        ? 0
                        : int.Parse(h, NumberStyles.HexNumber, CultureInfo.InvariantCulture), 16);
            }
            return(bv);
        }
예제 #2
0
        private static BitVector Ip4ToBitVector(string ip)
        {
            var elements = ip.Split('.');
            var bv       = new BitVector();

            // only the first three bits are important
            for (var index = 0; index < Math.Min(elements.Length, 3); index++)
            {
                var s = elements[index];
                if (string.IsNullOrEmpty(s))
                {
                    break;
                }
                bv.AddData(int.Parse(s, CultureInfo.InvariantCulture), 8);
            }
            return(bv);
        }
예제 #3
0
        private static BitVector Ip6ToBitVector(string ip)
        {
            var elements = ip.Split(':');
            var bv = new BitVector();

            // only the first three? parts are significant for geolocation
            for (var index = 0; index < Math.Min(elements.Length, 3); index++)
            {
                var h = elements[index];
                bv.AddData(
                    string.IsNullOrEmpty(h)
                        ? 0
                        : int.Parse(h, NumberStyles.HexNumber, CultureInfo.InvariantCulture), 16);

            }
            return bv;
        }
예제 #4
0
        private static BitVector Ip4ToBitVector(string ip)
        {
            var elements = ip.Split('.');
            var bv = new BitVector();

            // only the first three bits are important
            for (var index = 0; index < Math.Min(elements.Length, 3); index++)
            {
                var s = elements[index];
                if (string.IsNullOrEmpty(s)) break;
                bv.AddData(int.Parse(s, CultureInfo.InvariantCulture), 8);
            }
            return bv;
        }