Поделиться через


Dns.GetHostAddresses Метод

Определение

Перегрузки

GetHostAddresses(String)

Возвращает IP-адреса для указанного узла.

GetHostAddresses(String, AddressFamily)

Возвращает IP-адреса для указанного узла.

GetHostAddresses(String)

Исходный код:
Dns.cs
Исходный код:
Dns.cs
Исходный код:
Dns.cs

Возвращает IP-адреса для указанного узла.

public:
 static cli::array <System::Net::IPAddress ^> ^ GetHostAddresses(System::String ^ hostNameOrAddress);
public static System.Net.IPAddress[] GetHostAddresses (string hostNameOrAddress);
static member GetHostAddresses : string -> System.Net.IPAddress[]
Public Shared Function GetHostAddresses (hostNameOrAddress As String) As IPAddress()

Параметры

hostNameOrAddress
String

Разрешаемое имя узла или IP-адрес.

Возвращаемое значение

Массив типа IPAddress, в котором содержатся IP-адреса для узла, указанного в параметре hostNameOrAddress.

Исключения

hostNameOrAddress имеет значение null.

Длина hostNameOrAddress превышает 255 символов.

При разрешении hostNameOrAddress возникает ошибка.

hostNameOrAddress является недопустимым IP-адресом.

Примеры

В следующем примере кода метод используется GetHostAddresses для разрешения IP-адреса в массив типа IPAddress.

    // Determine the Internet Protocol(IP) addresses for a host.
public:
    static void DoGetHostAddress(String^ hostname)
    {
        array<IPAddress^>^ addresses;
        addresses = Dns::GetHostAddresses(hostname);

        Console::WriteLine("GetHostAddresses({0}) returns:", hostname);
        for each (IPAddress^ address in addresses)
        {
            Console::Write("{0} ", address);
        }
        Console::WriteLine("");
   }
public static void DoGetHostAddresses(string hostname)
{
    IPAddress[] addresses = Dns.GetHostAddresses(hostname);

    Console.WriteLine($"GetHostAddresses({hostname}) returns:");

    foreach (IPAddress address in addresses)
    {
        Console.WriteLine($"    {address}");
    }
}
Public Sub DoGetHostAddresses(hostName As String)

    Dim addresses As IPAddress() = Dns.GetHostAddresses(hostname)

    Console.WriteLine($"GetHostAddresses({hostname}) returns:")

    Dim index As Integer
    For index = 0 To addresses.Length - 1
        Console.WriteLine($"    {addresses(index)}")
    Next index

End Sub

Комментарии

Метод GetHostAddresses запрашивает у подсистемы DNS IP-адреса, связанные с именем узла. Если hostNameOrAddress является IP-адресом, этот адрес возвращается без запроса к DNS-серверу.

Если в качестве аргумента hostNameOrAddress передается пустая строка, этот метод возвращает адреса IPv4 и IPv6 локального узла.

IPv6-адреса фильтруются по результатам метода, GetHostAddresses если на локальном компьютере не установлен протокол IPv6. В результате можно вернуть пустой IPAddress экземпляр, если для hostNameOrAddress параметра были доступны только результаты IPv6.

Этот метод реализуется с помощью API-интерфейсов разрешения имен базовой операционной системы (например, getaddrinfo API Win32 в Windows и эквивалентных API на других платформах). Если узел описан в hosts файле, IP-адрес или адреса будут возвращены без запроса к DNS-серверу.

Примечание

Этот элемент выдает сведения трассировки при включении трассировки сети в приложении. Дополнительные сведения см. в статье Трассировка сети в .NET Framework.

Применяется к

GetHostAddresses(String, AddressFamily)

Исходный код:
Dns.cs
Исходный код:
Dns.cs
Исходный код:
Dns.cs

Возвращает IP-адреса для указанного узла.

public:
 static cli::array <System::Net::IPAddress ^> ^ GetHostAddresses(System::String ^ hostNameOrAddress, System::Net::Sockets::AddressFamily family);
public static System.Net.IPAddress[] GetHostAddresses (string hostNameOrAddress, System.Net.Sockets.AddressFamily family);
static member GetHostAddresses : string * System.Net.Sockets.AddressFamily -> System.Net.IPAddress[]
Public Shared Function GetHostAddresses (hostNameOrAddress As String, family As AddressFamily) As IPAddress()

Параметры

hostNameOrAddress
String

Разрешаемое имя узла или IP-адрес.

family
AddressFamily

Семейство адресов, для которого должны быть получены IP-адреса. Если Unspecifiedзадано значение , получите все IP-адреса независимо от семейства адресов.

Возвращаемое значение

Массив типа IPAddress, в котором содержатся IP-адреса для узла, указанного в параметре hostNameOrAddress.

Применяется к