Как получить IP-адрес машины в C # - PullRequest
12 голосов
/ 07 января 2010

Как мне получить IP-адрес машины в C #?

Ответы [ 4 ]

33 голосов
/ 07 января 2010
IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName());

Ваш компьютер не имеет ни одного IP-адреса, и некоторые из возвращаемых адресов могут быть IPv6.

MSDN ссылки:

В качестве альтернативы, как упомянуто MSalters , 127.0.0.1 / ::1 является адресом обратной связи и всегда будет ссылаться на локальный компьютер. Однако по понятным причинам его нельзя использовать для подключения к локальному компьютеру с удаленного компьютера.

9 голосов
/ 07 января 2010

Мой желаемый ответ был

string ipAddress = "";
if (Dns.GetHostAddresses(Dns.GetHostName()).Length > 0)
{
     ipAddress = Dns.GetHostAddresses(Dns.GetHostName())[0].ToString();
}
1 голос
/ 07 января 2010
 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 ());
 }
0 голосов
/ 06 февраля 2015
 string hostName = Dns.GetHostName(); // Retrive the Name of HOST

           // Get the IP
            string myIP = Dns.GetHostByName(hostName).AddressList[0].ToString();

// использовать следующее пространство имен- используя System.Net;

...