Получение действующего IP от IPHostEntry - PullRequest
3 голосов
/ 20 февраля 2011

Я попытался получить IP-адрес моего компьютера, используя

        var ipadd = Dns.GetHostEntry(Dns.GetHostName());
        foreach (var ipAddress in ipadd.AddressList)
            Console.WriteLine("IP Address: {0}", ipAddress);

У меня есть только одна сетевая карта на моем компьютере, которая подключена к маршрутизатору. Это ipv4, но эта строка кода дает мне 4 IP-адреса. 3 из них - ipv6, а один - ipv4, который является действительным. Я хотел бы спросить, почему это так?

Спасибо

1 Ответ

3 голосов
/ 21 февраля 2011
foreach (var addr in Dns.GetHostEntry(string.Empty).AddressList)
{
    if (addr.AddressFamily == AddressFamily.InterNetwork)
        Console.WriteLine("IPv4 Address: {0}", addr)
}
...