Dns.GetHostEntry Yöntem

Tanım

Bir örneğin ana bilgisayar adını veya IP adresini IPHostEntry çözümler.

Aşırı Yüklemeler

GetHostEntry(IPAddress)

Örneğin IP adresini IPHostEntry çözümler.

GetHostEntry(String)

Bir örneğin ana bilgisayar adını veya IP adresini IPHostEntry çözümler.

GetHostEntry(String, AddressFamily)

Bir örneğin ana bilgisayar adını veya IP adresini IPHostEntry çözümler.

GetHostEntry(IPAddress)

Kaynak:
Dns.cs
Kaynak:
Dns.cs
Kaynak:
Dns.cs

Örneğin IP adresini IPHostEntry çözümler.

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

Parametreler

address
IPAddress

Bir IP adresi.

Döndürülenler

IPHostEntry içinde addressbelirtilen konak hakkında adres bilgilerini içeren bir örnek.

Özel durumlar

address, null değeridir.

çözümlendiğinde addressbir hatayla karşılaşıldı.

address geçersiz bir IP adresidir.

Örnekler

Aşağıdaki kod örneği, bir örneğin IP adresini çözümlemek için IPHostEntry yöntemini kullanırGetHostEntry.

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

Açıklamalar

yöntemi, GetHostEntry bir IP adresiyle ilişkili IP adresleri ve diğer adları için bir DNS sunucusunu sorgular.

Yerel bilgisayarda IPv6 yüklü değilse, IPv6 adresleri yöntemin sonuçlarından GetHostEntry filtrelenir. Sonuç olarak, parametresi için address yalnızca IPv6 sonuçları kullanılabiliyorsa boş IPHostEntry bir örneği geri almak mümkündür.

Aliases Döndürülen örneğin özelliği IPHostEntry bu yöntem tarafından doldurulmadı ve her zaman boş olacak.

Not

Bu üye, uygulamanızda ağ izlemeyi etkinleştirdiğinizde izleme bilgilerini yayar. Daha fazla bilgi için bkz. .NET Framework'te Ağ İzleme.

Şunlara uygulanır

GetHostEntry(String)

Kaynak:
Dns.cs
Kaynak:
Dns.cs
Kaynak:
Dns.cs

Bir örneğin ana bilgisayar adını veya IP adresini IPHostEntry çözümler.

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

Parametreler

hostNameOrAddress
String

Çözümlenmesi gereken ana bilgisayar adı veya IP adresi.

Döndürülenler

IPHostEntry içinde hostNameOrAddressbelirtilen konak hakkında adres bilgilerini içeren bir örnek.

Özel durumlar

hostNameOrAddress parametresidirnull.

Parametrenin hostNameOrAddress uzunluğu 255 karakterden büyük.

Parametresi çözümlendiğinde hostNameOrAddress bir hatayla karşılaşıldı.

hostNameOrAddress Parametresi geçersiz bir IP adresidir.

Örnekler

Aşağıdaki örnek, bir örneğin IP adresini çözümlemek için IPHostEntry yöntemini kullanırGetHostEntry.

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

Açıklamalar

yöntemi, GetHostEntry bir ana bilgisayar adı veya IP adresiyle ilişkili IP adresi için bir DNS sunucusunu sorgular.

Bağımsız değişken olarak hostNameOrAddress boş bir dize geçirilirse, bu yöntem yerel konağın IPv4 ve IPv6 adreslerini döndürür.

Konak adı bulunamazsa, SocketException özel durum 11001 değeriyle döndürülür (Windows Yuvaları hatası WSAHOST_NOT_FOUND). DNS sunucusu yanıt vermezse bu özel durum döndürülebilir. Bu özel durum, ad resmi bir ana bilgisayar adı veya diğer ad değilse veya sorgulanan veritabanlarında bulunamıyorsa da döndürülebilir.

ArgumentException Parametresi veya IPv6Anyiçeriyorsa Any özel durum da döndürülürhostNameOrAddress.

yöntemi, GetHostEntry parametrede hostNameOrAddress bir IP değişmez değeri dizesi geçirilirse uygulamanın tüm özellikleri ayarlanmış bir IPHostEntry örneğin döndürülmesini istediğini varsayar. Bu özellikler arasında AddressList, Aliasesve HostNamebulunur. Sonuç olarak, bir IP dizesi değişmez değeri geçirildiğinde yönteminin GetHostEntry uygulanması aşağıdaki davranışı sergiler:

  1. yöntemi adresi ayrıştırmaya çalışır. hostNameOrAddress Parametresi yasal bir IP dizesi değişmez değeri içeriyorsa, ilk aşama başarılı olur.

  2. Ana bilgisayar adı elde etmek için IP dizesi değişmez değerinin IP adresini kullanan bir geriye doğru arama denendi. Bu sonuç özelliği olarak HostName ayarlanır.

  3. Bu geriye doğru aramadaki ana bilgisayar adı, adla ilişkili tüm olası IP adreslerini almak ve özellik olarak AddressList ayarlamak için yeniden kullanılır.

IPv4 dize değişmez değeri için yukarıdaki üç adımın tümü başarılı olabilir. Ancak, aslında farklı bir konağa ait olan bir IPv4 adresi için eski bir DNS kaydının döndürülme olasılığı vardır. Bu, 3. adımın başarısız olmasına ve özel durum oluşturmasına neden olabilir (IPv4 adresi için bir DNS PTR kaydı vardır, ancak IPv4 adresi için DNS A kaydı yoktur).

Çoğu IPv6 dağıtımı bir IPv6 adresi için ters (PTR) kaydını kaydetmediğinden IPv6 için yukarıdaki 2. adım başarısız olabilir. Bu nedenle bu yöntem, özelliğinde tam etki alanı (FQDN) konak adı olarak IPv6 değişmez değeri dizesini HostName döndürebilir.

yönteminin GetHostAddresses IP değişmez değerlerine göre farklı davranışları vardır. Yukarıdaki 1. adım başarılı olursa (başarıyla BIR IP adresi olarak ayrıştırılır), sonuç olarak bu adres hemen döndürülür. Geriye doğru arama girişimi yoktur.

Yerel bilgisayarda IPv6 yüklü değilse, IPv6 adresleri yöntemin sonuçlarından GetHostEntry filtrelenir. Sonuç olarak, .parameter için hostNameOrAddresskullanılabilir olduğunda yalnızca IPv6 sonuçları varsa boş IPHostEntry bir örneği geri almak mümkündür.

Aliases Döndürülen örneğin özelliği IPHostEntry bu yöntem tarafından doldurulmadı ve her zaman boş olacak.

Not

Bu üye, uygulamanızda ağ izlemeyi etkinleştirdiğinizde izleme bilgilerini yayar. Daha fazla bilgi için bkz. .NET Framework'te Ağ İzleme.

Şunlara uygulanır

GetHostEntry(String, AddressFamily)

Kaynak:
Dns.cs
Kaynak:
Dns.cs
Kaynak:
Dns.cs

Bir örneğin ana bilgisayar adını veya IP adresini IPHostEntry çözümler.

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

Parametreler

hostNameOrAddress
String

Çözümlenmesi gereken ana bilgisayar adı veya IP adresi.

family
AddressFamily

IP'lerin alınması gereken adres ailesi. ise Unspecified, adres ailesine bakılmaksızın tüm IP'leri alın.

Döndürülenler

IPHostEntry içinde hostNameOrAddressbelirtilen konakla ilgili adres bilgilerini içeren bir örnek.

Şunlara uygulanır