Giriş
Şu satırı dahil ederiz.
Girdi olarak google.com gibi bir string alır. Her BeginGetHostEntry çağrısı EndGetHostEntry çağrısı ile sonlandırılmalıdır. Şöyle yaparız.
Şöyle yaparız. Örneğin benim bilgisayarımda 4 IPv6, tane de IPv4 adres mevcut
Girdi olarak google.com gibi bir string alır ve IPHostEntry cinsinden bir liste döner. Listede IPv4 ve IPv6 adresleri bulunur.
Örnek
Çok basit bir kullanım şekli şöyle.
Eğer istsersek 0. indeks yerine First() ile de ilk adresi alabiliriz.
Süzerek IPv4 adresi almak istersek şöyle yaparız.
Örnek
Bigisayarımın adını vererek kendi IP adres veya adreslerimi buluruz. Şöyle yaparız.
Şu satırı dahil ederiz.
using System.Net
BeginGetHostEntry metoduGirdi olarak google.com gibi bir string alır. Her BeginGetHostEntry çağrısı EndGetHostEntry çağrısı ile sonlandırılmalıdır. Şöyle yaparız.
string hostNameOrAddress = ...;
ResolveState ioContext = new ResolveState(hostNameOrAddress);
var result = Dns.BeginGetHostEntry(ioContext.HostName, null, null);
Daha sonra istenilen süre kadar beklenir.int ms = ...;
var success = result.AsyncWaitHandle.WaitOne(TimeSpan.FromMilliseconds(ms), true);
if (!success)
{
ioContext.Result = ResolveType.Timeout;
}
else
{
try
{
var ipList = Dns.EndGetHostEntry(result);
if (ipList == null || ipList.AddressList == null ||
ipList.AddressList.Length == 0)
ioContext.Result = ResolveType.InvalidHost;
else
ioContext.Result = ResolveType.Completed;
}
catch
{
ioContext.Result = ResolveType.InvalidHost;
}
}
GetHostAddresses metoduŞöyle yaparız. Örneğin benim bilgisayarımda 4 IPv6, tane de IPv4 adres mevcut
IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName());
GetHostEntry metoduGirdi olarak google.com gibi bir string alır ve IPHostEntry cinsinden bir liste döner. Listede IPv4 ve IPv6 adresleri bulunur.
Örnek
Çok basit bir kullanım şekli şöyle.
IPHostEntry ipHostInfo = Dns.GetHostEntry("google.com");
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint remoteEP = new IPEndPoint(ipAddress, port);
ÖrnekEğer istsersek 0. indeks yerine First() ile de ilk adresi alabiliriz.
private string GetCurrentIP()
{
return System.Net.Dns.GetHostEntry("SERVER_IP").AddressList.First().ToString();
}
ÖrnekSüzerek IPv4 adresi almak istersek şöyle yaparız.
Dns.GetHostEntry("...").AddressList.FirstOrDefault(ip => ip.AddressFamily
== AddressFamily.InterNetwork);
Örnek
Loop adresleri şöyle alırız.
Loop adresleri şöyle alırız.
ip.AddressFamily == AddressFamily.lo
IPHostEntry ipHostEntry = Dns.GetHostEntry(string.Empty);
Bigisayarımın adını vererek kendi IP adres veya adreslerimi buluruz. Şöyle yaparız.
Dns.GetHostEntry(Dns.GetHostName())
.AddressList
.First(i => i.AddressFamily == AddressFamily.InterNetwork);
GetHostName metodu
Hiç yorum yok:
Yorum Gönder