获得IP地址

2015-12-13 10:01:46  访问(2112) 赞(0) 踩(0)


        #region 获得IP地址

        /// <summary>
        /// 获得IP地址
        /// </summary>
        /// <returns></returns>
        public static string GetHostName()
        {
            return Dns.GetHostName();
        }

        /// <summary>
        /// 获得IP地址
        /// </summary>
        /// <returns></returns>
        public static IPAddress[] GetLocalIP()
        {
            string name = Dns.GetHostName();
            IPHostEntry me = Dns.GetHostEntry(name);
            return me.AddressList;
        }

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public static IPAddress GetFirstIP()
        {
            IPAddress[] ips = GetLocalIP();

            foreach (IPAddress ip in ips)
            {
                if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6)
                    continue;
                return ip;
            }

            return ips != null && ips.Length > 0 ? ips[0] : new IPAddress(0x0);
        }

        /// <summary>
        /// 获得IP地址
        /// </summary>
        /// <returns></returns>
        public string GetIPAddress()
        {
            try
            {
                string hostName = Dns.GetHostName();

                if (hostName == null || hostName.Length == 0)
                    return "";

                IPHostEntry me = Dns.GetHostEntry(hostName);

                if (me == null)
                    return "";

                IPAddress[] ips = me.AddressList;

                if (ips == null)
                    return "";

                StringBuilder theResult = new StringBuilder();
                bool isFirst = true;


                foreach (IPAddress ip in ips)
                {
                    if (ip.AddressFamily !=
                        System.Net.Sockets.AddressFamily.InterNetwork)
                        continue;

                    try
                    {
                        if (isFirst)
                            isFirst = false;
                        else
                            theResult.Append("|");

                        theResult.Append(ip.ToString());
                    }
                    catch
                    {

                    }

                }

                return theResult.ToString();
            }
            catch
            {
                return "";
            }
        }

        #endregion 获得IP地址


标签:获得IP地址 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)