Пример #1
0
        protected void ParseAddressString(String value)
        {
            String[] splitByPort;
            splitByPort = value.Split(':');
            _hostName   = "";

            if (splitByPort.Length == 2)
            {
                _hostName = splitByPort[0];
                _port     = UInt16.Parse(splitByPort[1], System.Globalization.NumberStyles.Integer);
            }

            List <String> splitByDots = new List <String>(splitByPort[0].Split('.'));

            if (splitByDots.Count == AddressLengths.IP4_NOPORT && splitByDots.AreAllDigits())
            {
                _resolvedAddress = new IPv4ResolvedAddressPort(value);
                _resolved        = true;
            }
            else if (_hostName.Length == 0)
            {
                _hostName = splitByPort[0];
                _resolved = false;
            }
            _type    = AddressType.IP4_PORT;
            _address = value;
        }
Пример #2
0
 public IPv4AddressPort()
     : base(EMPTY_ADDRESS, AddressType.IP4_PORT)
 {
     _port            = 0;
     _resolved        = false;
     _resolvedAddress = null;
     _hostName        = String.Empty;
 }
Пример #3
0
        bool ResolveHostName()
        {
            bool result = false;

            try
            {
                IPHostEntry hostEntry   = Dns.GetHostEntry(_hostName);
                IPAddress[] addressList = hostEntry.AddressList;
                for (int x = 0; x < addressList.Length && result == false; x++)
                {
                    if (addressList[x].AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork && addressList[x].GetAddressBytes()[0] != 169)
                    {
                        _resolvedAddress = new IPv4ResolvedAddressPort(String.Format("{0}:{1}", addressList[x].ToString(), _port));
                        _resolved        = true;
                        result           = true;
                    }
                }
            }
            catch (Exception e)
            {
                Log.SysLogText(LogLevel.WARNING, "IPv4AddressPort Resolve Host '{0}' Exception {1}", _hostName, e.Message);
            }
            return(result);
        }