IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName());
У вашего компьютера нет единственного IP-адреса, и некоторые из возвращенных адресов могут быть IPv6.
Ссылки MSDN:
В качестве альтернативы, как упоминалось в MSalters , 127.0.0.1
/ :: 1
является адресом обратной связи и всегда будет относиться к локальному компьютеру. Однако по очевидным причинам его нельзя использовать для подключения к локальной машине с удаленной машины.
Мой желаемый ответ был
string ipAddress = "";
if (Dns.GetHostAddresses(Dns.GetHostName()).Length > 0)
{
ipAddress = Dns.GetHostAddresses(Dns.GetHostName())[0].ToString();
}
IPHostEntry ip = DNS.GetHostByName (strHostName);
IPAddress [] IPaddr = ip.AddressList;
for (int i = 0; i < IPaddr.Length; i++)
{
Console.WriteLine ("IP Address {0}: {1} ", i, IPaddr[i].ToString ());
}