1. 程式人生 > >C# 獲取本定ip地址

C# 獲取本定ip地址

第一種:使用windowsSystem.Net空間下的Dns類下的GetHostAddresses方法獲取ip地址

       public static string GetLocalIP_Two()
        {
            try
            {
                IPAddress[] ips = Dns.GetHostAddresses("");//獲取本地IP
                for (int i = 0; i < ips.Length; i++)
                {
                    //從IP地址列表中篩選出IPv4型別的IP地址
                    //AddressFamily.InterNetwork表示此IP為IPv4,
                    //AddressFamily.InterNetworkV6表示此地址為IPv6型別
                    if (ips[i].AddressFamily == AddressFamily.InterNetwork)
                    {
                        return ips[i].ToString();
                    }
                }
                return "";
            }
            catch (Exception ex)
            {
                MessageBox.Show("獲取本機IP出錯:" + ex.Message);
                return "";
            }

        }

第二種使用windowsSystem.Net空間下的Dns類下的GetHostName方法獲取主機名再根據主機名通過GetHostEntry.AddressList獲取ip地址.

     public static string GetLocalIP()
        {
            try
            {
                string HostName = Dns.GetHostName(); //得到主機名
                IPHostEntry IpEntry = Dns.GetHostEntry(HostName);
                for (int i = 0; i < IpEntry.AddressList.Length; i++)
                {
                    //從IP地址列表中篩選出IPv4型別的IP地址
                    //AddressFamily.InterNetwork表示此IP為IPv4,
                    //AddressFamily.InterNetworkV6表示此地址為IPv6型別
                    if (IpEntry.AddressList[i].AddressFamily == AddressFamily.InterNetwork)
                    {
                        return IpEntry.AddressList[i].ToString();
                    }
                }
                return "";
            }
            catch (Exception ex)
            {
                MessageBox.Show("獲取本機IP出錯:" + ex.Message);
                return "";
            }
        }

這是在網上找到的方法,原文的連結忘了