How do I determine the local host’s IPv4 addresses?

后端 未结 11 1419
[愿得一人]
[愿得一人] 2020-12-05 13:23

How do I get only Internet Protocol version 4 addresses from Dns.GetHostAddresses()? I have the code below, and it gives me IPv4 and IPv6 addresses. I have to m

11条回答
  •  被撕碎了的回忆
    2020-12-05 14:11

    Here's a function I use:

    public static string GetIP4Address()
    {
        string IP4Address = String.Empty;
    
        foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName()))
        {
            if (IPA.AddressFamily == AddressFamily.InterNetwork)
            {
                IP4Address = IPA.ToString();
                break;
            }
        }
    
        return IP4Address;
    }
    

    As an enumerable:

    public static IEnumerable GetIP4Addresses()
    {
        return Dns.GetHostAddresses(Dns.GetHostName())
            .Where(IPA => IPA.AddressFamily == AddressFamily.InterNetwork)
            .Select(x => x.ToString());
    }
    

提交回复
热议问题