Dns.GetHostEntry Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 address
belirtilen konak hakkında adres bilgilerini içeren bir örnek.
Özel durumlar
address
, null
değeridir.
çözümlendiğinde address
bir 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 hostNameOrAddress
belirtilen 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:
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.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.
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 hostNameOrAddress
kullanı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 hostNameOrAddress
belirtilen konakla ilgili adres bilgilerini içeren bir örnek.