¿Cómo puedo obtener mi dirección IP?

Tengo un serverSocket y me gustaría saber la dirección IP, pero con

listenSocket.getInetAddress().toString(); 

Me sale 0.0.0.0 . ¿Cómo puedo obtener la dirección IP, o (si hay dos conexiones habilitadas) una de ellas?

He utilizado esto en el pasado:

 public String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { InetAddress inetAddress = enumIpAddr.nextElement(); if (!inetAddress.isLoopbackAddress()) { return inetAddress.getHostAddress(); } } } } catch (SocketException ex) { Log.e(LOG_TAG, ex.toString()); } return null; } 

Fuente: http://www.droidnova.com/get-the-ip-address-of-your-device304.html

Compruebe esto ¿Cómo obtener la dirección IP del dispositivo desde el código? Consiguiendo las necesidades del ipaddress que siguen cheque también InetAddressUtils.isIPv4Address (sAddr);

Si obtiene 0.0.0.0, es probable que su socket de escucha esté aceptando conexiones en todas las interfaces de la máquina. Normalmente habrá al menos dos de ellos – uno para comunicarse con el mundo exterior, y la interfaz localhost / loopback. Así que no tiene sentido pedirle una dirección.

Una vez que acepta una conexión entrante, puede pedirle la dirección de la interfaz en particular que la maneja.

Un truco rápido para encontrar una "buena" dirección IP es hacer una conexión de salida a un sitio conocido, y pedir la dirección de su final local una vez que se conecta.Esto es algo más portátil que enumerar interfaces de red (si te importa Cosas), pero por supuesto requiere que usted tiene algo para conectarse a lo que usted confía para estar vivo y accesible.

  • Error de Java en el servidor WebSocket
  • Intercambio de datos entre dos dispositivos Android en hotspot
  • Android - Sockets vs Polling
  • Socket Android + ObjectOutputStream no funciona correctamente
  • Android Socket Programación?
  • Java Client Socket Connection en Android
  • cómo leer el flujo de entrada de socket en Android
  • Envío de flujo de imágenes por problema de socket: Android
  • Desarrollo de aplicaciones de chat de Android
  • HttpsURLconnection para publicar y obtener en Android
  • Tcp conexión otro dispositivo android, basado en # teléfono en lugar de IP?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.