Bagikan melalui


Dns.GetHostEntry Metode

Definisi

Menyelesaikan nama host atau alamat IP ke IPHostEntry instans.

Overload

GetHostEntry(IPAddress)

Menyelesaikan alamat IP ke IPHostEntry instans.

GetHostEntry(String)

Menyelesaikan nama host atau alamat IP ke IPHostEntry instans.

GetHostEntry(String, AddressFamily)

Menyelesaikan nama host atau alamat IP ke IPHostEntry instans.

GetHostEntry(IPAddress)

Sumber:
Dns.cs
Sumber:
Dns.cs
Sumber:
Dns.cs

Menyelesaikan alamat IP ke IPHostEntry instans.

public:
 static System::Net::IPHostEntry ^ GetHostEntry(System::Net::IPAddress ^ address);
public static System.Net.IPHostEntry GetHostEntry (System.Net.IPAddress address);
static member GetHostEntry : System.Net.IPAddress -> System.Net.IPHostEntry
Public Shared Function GetHostEntry (address As IPAddress) As IPHostEntry

Parameter

address
IPAddress

Alamat IP.

Mengembalikan

Instans IPHostEntry yang berisi informasi alamat tentang host yang ditentukan dalam address.

Pengecualian

addressadalah null.

Terjadi kesalahan saat menyelesaikan address.

address adalah alamat IP yang tidak valid.

Contoh

Contoh kode berikut menggunakan GetHostEntry metode untuk menyelesaikan alamat IP ke IPHostEntry instans.

public:
    static void DoGetHostEntry(IPAddress^ address)
    {
        IPHostEntry^ host = Dns::GetHostEntry(address);

        Console::WriteLine("GetHostEntry({0}) returns HostName: {1}", address->ToString(), host->HostName);
    }
public static void DoGetHostEntry(IPAddress address)
{
    IPHostEntry host = Dns.GetHostEntry(address);

    Console.WriteLine($"GetHostEntry({address}) returns HostName: {host.HostName}");
}
Public Sub DoGetHostEntry(address As IPAddress)

    Dim host as IPHostEntry = Dns.GetHostEntry(address)

    Console.WriteLine($"GetHostEntry({address}) returns HostName: {host.HostName}")

End Sub

Keterangan

Metode ini GetHostEntry meminta server DNS untuk alamat IP dan alias yang terkait dengan alamat IP.

Alamat IPv6 difilter dari hasil GetHostEntry metode jika komputer lokal tidak menginstal IPv6. Akibatnya, dimungkinkan untuk mendapatkan kembali instans kosong IPHostEntry jika hanya hasil IPv6 yang tersedia untuk address parameter .

Properti Aliases instans yang IPHostEntry dikembalikan tidak diisi oleh metode ini dan akan selalu kosong.

Catatan

Anggota ini memancarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.

Berlaku untuk

GetHostEntry(String)

Sumber:
Dns.cs
Sumber:
Dns.cs
Sumber:
Dns.cs

Menyelesaikan nama host atau alamat IP ke IPHostEntry instans.

public:
 static System::Net::IPHostEntry ^ GetHostEntry(System::String ^ hostNameOrAddress);
public static System.Net.IPHostEntry GetHostEntry (string hostNameOrAddress);
static member GetHostEntry : string -> System.Net.IPHostEntry
Public Shared Function GetHostEntry (hostNameOrAddress As String) As IPHostEntry

Parameter

hostNameOrAddress
String

Nama host atau alamat IP yang akan diatasi.

Mengembalikan

Instans IPHostEntry yang berisi informasi alamat tentang host yang ditentukan dalam hostNameOrAddress.

Pengecualian

Parameternya hostNameOrAddress adalah null.

Panjang hostNameOrAddress parameter lebih besar dari 255 karakter.

Terjadi kesalahan saat menyelesaikan hostNameOrAddress parameter.

Parameter hostNameOrAddress adalah alamat IP yang tidak valid.

Contoh

Contoh berikut menggunakan GetHostEntry metode untuk menyelesaikan alamat IP ke IPHostEntry instans.

public:
    static void DoGetHostEntry(String^ hostname)
    {
        IPHostEntry^ host = Dns::GetHostEntry(hostname);

        Console::WriteLine("GetHostEntry({0}) returns:", host->HostName);

        for (int i = 0; i < host->AddressList->Length; i++)
        {
            Console::WriteLine("    {0}", host->AddressList[i]->ToString());			
        }
    }
public static void DoGetHostEntry(string hostname)
{
    IPHostEntry host = Dns.GetHostEntry(hostname);

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

    foreach (IPAddress address in host.AddressList)
    {
        Console.WriteLine($"    {address}");
    }
}
Public Sub DoGetHostEntry(hostName As String)

    Dim host as IPHostEntry = Dns.GetHostEntry(hostname)

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

    Dim addresses As IPAddress() = host.AddressList

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

End Sub

Keterangan

Metode ini GetHostEntry meminta server DNS untuk alamat IP yang terkait dengan nama host atau alamat IP.

Jika string kosong diteruskan sebagai hostNameOrAddress argumen, maka metode ini mengembalikan alamat IPv4 dan IPv6 dari host lokal.

Jika nama host tidak dapat ditemukan, SocketException pengecualian dikembalikan dengan nilai 11001 (kesalahan Windows Sockets WSAHOST_NOT_FOUND). Pengecualian ini dapat dikembalikan jika server DNS tidak merespons. Pengecualian ini juga dapat dikembalikan jika namanya bukan nama host atau alias resmi, atau tidak dapat ditemukan dalam database yang sedang dikueri.

Pengecualian ArgumentException juga dikembalikan jika hostNameOrAddress parameter berisi Any atau IPv6Any.

Metode ini GetHostEntry mengasumsikan bahwa jika string literal IP diteruskan dalam hostNameOrAddress parameter yang diinginkan aplikasi instans yang IPHostEntry dikembalikan dengan semua properti yang ditetapkan. Properti ini termasuk AddressList, Aliases, dan HostName. Akibatnya, implementasi GetHostEntry metode menunjukkan perilaku berikut ketika string IP harfiah diteruskan:

  1. Metode ini mencoba mengurai alamat. hostNameOrAddress Jika parameter berisi string IP legal literal, maka fase pertama berhasil.

  2. Pencarian terbalik menggunakan alamat IP literal string IP dicoba untuk mendapatkan nama host. Hasil ini ditetapkan sebagai HostName properti .

  3. Nama host dari pencarian terbalik ini digunakan lagi untuk mendapatkan semua alamat IP yang mungkin terkait dengan nama dan ditetapkan sebagai AddressList properti .

Untuk string IPv4 literal, ketiga langkah di atas dapat berhasil. Tetapi dimungkinkan untuk catatan DNS kedaluarsa untuk alamat IPv4 yang benar-benar milik host yang berbeda untuk dikembalikan. Ini dapat menyebabkan langkah #3 gagal dan melempar pengecualian (ada catatan DNS PTR untuk alamat IPv4, tetapi tidak ada catatan DNS A untuk alamat IPv4).

Untuk IPv6, langkah #2 di atas mungkin gagal, karena sebagian besar penyebaran IPv6 tidak mendaftarkan catatan reverse (PTR) untuk alamat IPv6. Jadi metode ini dapat mengembalikan string IPv6 literal sebagai nama host domain yang sepenuhnya memenuhi syarat (FQDN) di HostName properti .

Metode GetHostAddresses ini memiliki perilaku yang berbeda sehubungan dengan literal IP. Jika langkah #1 di atas berhasil (berhasil diurai sebagai alamat IP), alamat tersebut segera dikembalikan sebagai hasilnya. Tidak ada upaya pada pencarian terbalik.

Alamat IPv6 difilter dari hasil GetHostEntry metode jika komputer lokal tidak menginstal IPv6. Akibatnya, dimungkinkan untuk mendapatkan kembali instans kosong IPHostEntry jika hanya hasil IPv6 jika tersedia untuk hostNameOrAddress.parameter.

Properti Aliases instans yang IPHostEntry dikembalikan tidak diisi oleh metode ini dan akan selalu kosong.

Catatan

Anggota ini memancarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.

Berlaku untuk

GetHostEntry(String, AddressFamily)

Sumber:
Dns.cs
Sumber:
Dns.cs
Sumber:
Dns.cs

Menyelesaikan nama host atau alamat IP ke IPHostEntry instans.

public:
 static System::Net::IPHostEntry ^ GetHostEntry(System::String ^ hostNameOrAddress, System::Net::Sockets::AddressFamily family);
public static System.Net.IPHostEntry GetHostEntry (string hostNameOrAddress, System.Net.Sockets.AddressFamily family);
static member GetHostEntry : string * System.Net.Sockets.AddressFamily -> System.Net.IPHostEntry
Public Shared Function GetHostEntry (hostNameOrAddress As String, family As AddressFamily) As IPHostEntry

Parameter

hostNameOrAddress
String

Nama host atau alamat IP yang akan diatasi.

family
AddressFamily

Keluarga alamat tempat IP harus diambil. Jika Unspecified, ambil semua IP terlepas dari keluarga alamat.

Mengembalikan

Instans IPHostEntry yang berisi informasi alamat tentang host yang ditentukan dalam hostNameOrAddress.

Berlaku untuk