Obtenga la dirección IP de la interfaz de red de Android

Estoy escribiendo una aplicación wifi-direct para Android. Estoy intentando hacer una conexión del zócalo a un dispositivo. Puesto que la función del intento del dueño del grupo no parece trabajar (asigna apenas al azar que aparece) Tengo que encontrar una manera de transferir la dirección IP de los clientes al anfitrión. La única dirección que conozco es el dispositivo host que viene en el objeto de información de grupo que WifiP2pManager puede conseguirme. Sé qué dispositivo es el anfitrión y cuál es el cliente así que puedo abrir un zócalo para que una conexión llegue o trate de conectar con el otro.

Lo que necesito hacer es encontrar una forma de transferir la dirección IP del dispositivo del cliente Wifi P2P (Wifi Direct) si el dispositivo 'host' es el propietario del grupo. Si el host es el propietario del grupo, no tengo ninguna forma de conectarse al socket en el cliente. Es un poco confuso, pero así es como funciona.

He visto cosas como obtener la dirección IP de la tabla de ARP, pero la tabla ARP parece despejarse después de sólo unos segundos (como un minuto) y en ICS ya que la interfaz wifi está deshabilitado para Wifi directo ni siquiera Ver nada en la tabla de arp.

Siento que esto debería ser fácil, pero no soy un gran usuario de Linux, así que no sé qué archivo tendría las configuraciones de la interfaz de red. ¿Hay alguna forma de obtener direcciones IP de las interfaces de red? O al menos la interfaz Wifi P2P? (Nota: Esta no es la dirección wifi.Es similar a la dirección de anclaje excepto que es Wifi Direct.WifiManager no devuelve esto)

Gracias,
Mgamerz

DhcpInfo dhcpInfo = (WifiManager)this.context.getSystemService(Context.WIFI_SERVICE)).getDhcpInfo(); String ipaddress = intToIp(dhcpInfo.ipAddress) intToIp(int integer) { return (integer & 0xFF) + "." + ((integer >> 8) & 0xFF) + "." + ((integer >> 16) & 0xFF) + "." + ((integer >> 24) & 0xFF); } 

Por encima del código debe ayudarle a obtener el ipaddress …

Para obtener la dirección IP del cliente que se está conectando al host a través de un socket que puede usar .. clientSocket = this.serverSocket.accept (); ClientSocket.getInetAddress ();

  • ¿Podemos conectarnos al iPhone desde un dispositivo Android aunque no esté en la misma red?
  • Android NSD no descubre todos los servicios
  • WiFi Direct en Android no funciona correctamente
  • Desconectar de un grupo directo wifi
  • Cómo obtener la dirección IP directa de WiFi de mi dispositivo
  • ¿Cómo obtengo un descubrimiento de servicio Wi-Fi punto a punto para trabajar?
  • Conecta Raspberry con Android a través de servicios Wifi Direct (p2p)
  • Cómo detener el descubrimiento de pares en WifiDirect Android
  • IOS 7 Multipeer Connectivity es compatible con Android Wi-Fi Direct?
  • Wi-fi P2P. Informar a todos los compañeros disponibles de algún evento
  • Wifi-Direct siempre se desconecta después de treinta minutos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.