java.net.UnknownHostException muy rara.

robegs
22 de Agosto del 2008
Hola, estoy realizando un programa que tiene que realizar varias conexiones TCP y UDP. El problema es que cuando uso trocitos por separado todo funciona, pero cuando lo junto (la ejecución sería la misma) obtengo el error:

java.net.UnknownHostException:
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:849)
at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1200)
at java.net.InetAddress.getAllByName0(InetAddress.java:1153)
at java.net.InetAddress.getAllByName(InetAddress.java:1083)
at java.net.InetAddress.getAllByName(InetAddress.java:1019)
at java.net.InetAddress.getByName(InetAddress.java:969)
at MandaUDP.envia(MandaUDP.java:20)
at EscuchaConexion.run(EscuchaRespuesta.java:59)

He visto por internet que eso podía ser cosa de que busque una IPv6 y ejecuto el programa con "java -Djava.net.preferIPv4Stack=true Programa" pero aún así da error.

La IP que busca está en la misma subred y si pruebo solo el trozo que envía el paquete UDP funciona sin problemas.

El error lo da en la linea:
InetAddress maquina = InetAddress.getByName(direccion);

Espero que me podáis ayudar, gracias.

PaneB
22 de Agosto del 2008
Cuando pones "direccion" te refieres a la dirección IP o a un nombre de host?

Si es un nombre de host, prueba a poner la IP directamente. Si así funcionara tienes algún problema con los DNS, prueba a incluir la referencia en el archivo host del ordenador.