Cómo obtener la dirección IP de una máquina en C #

¿Cómo obtengo la dirección IP de una máquina en C #?

 IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName()); 

Su máquina no tiene una sola dirección IP, y algunas de las direcciones devueltas pueden ser IPv6.

Enlaces de MSDN:

  • Dns.GetHostAddresses
  • Dirección IP

Alternativamente, como mencionó MSalters , 127.0.0.1 / ::1 es la dirección de bucle invertido y siempre se referirá a la máquina local. Sin embargo, por razones obvias, no se puede usar para conectarse a la máquina local desde una máquina remota.

Mi respuesta deseada fue

 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 ()); } 
  string hostName = Dns.GetHostName(); // Retrive the Name of HOST // Get the IP string myIP = Dns.GetHostByName(hostName).AddressList[0].ToString(); 

// use el siguiente espacio de nombre- usando System.Net;