Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Obtener la IP en java

Estas en el tema de Obtener la IP en java en el foro de Java en Foros del Web. Hola a todos. Estoy intentando hacer un programita en java y necesito conocer mi IP. Estoy probando con la clase InetAddress pero solo consigo obtener ...
  #1 (permalink)  
Antiguo 23/04/2013, 05:32
 
Fecha de Ingreso: febrero-2013
Mensajes: 25
Antigüedad: 11 años, 2 meses
Puntos: 2
Obtener la IP en java

Hola a todos. Estoy intentando hacer un programita en java y necesito conocer mi IP. Estoy probando con la clase InetAddress pero solo consigo obtener la ip como 127.0.0.1 (localhost) pero me gustaría saber la que me da el router en la LAN, por ejemplo 192.168.1.123 ...

¿Alguna idea?

Esto es lo que he puesto:
Código:
try 
{
	String thisIp = InetAddress.getLocalHost().getHostAddress();
	System.out.println("IP:"+thisIp);
}
catch(Exception e) 
{
	e.printStackTrace();
}
Muchas gracias.
  #2 (permalink)  
Antiguo 23/04/2013, 05:45
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Obtener la IP en java

Hola:

A mi esto me da la IP real (no 127.0.0.1) y el nombre real (no localhost)

Código java:
Ver original
  1. System.out.println(InetAddress.getLocalHost().getHostAddress());
  2. System.out.println(InetAddress.getLocalHost().getHostName());


Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 23/04/2013, 05:57
 
Fecha de Ingreso: febrero-2013
Mensajes: 25
Antigüedad: 11 años, 2 meses
Puntos: 2
Respuesta: Obtener la IP en java

Cita:
Iniciado por chuidiang Ver Mensaje
Hola:

A mi esto me da la IP real (no 127.0.0.1) y el nombre real (no localhost)

Código java:
Ver original
  1. System.out.println(InetAddress.getLocalHost().getHostAddress());
  2. System.out.println(InetAddress.getLocalHost().getHostName());


Se bueno.
Muchas gracias por contestar tan rápido, pero me da 127.0.0.1 ... no hay manera
  #4 (permalink)  
Antiguo 23/04/2013, 06:20
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Obtener la IP en java

¿Podría estar causado por esto? http://bugs.sun.com/view_bug.do?bug_id=4665037

Si es por eso deberías pasar la aplicación del jdk 1.4 al 1.5 o 1.6 para ver si se te soluciona.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #5 (permalink)  
Antiguo 23/04/2013, 09:42
 
Fecha de Ingreso: febrero-2013
Mensajes: 25
Antigüedad: 11 años, 2 meses
Puntos: 2
Respuesta: Obtener la IP en java

Cita:
Iniciado por Fuzzylog Ver Mensaje
¿Podría estar causado por esto? [url]http://bugs.sun.com/view_bug.do?bug_id=4665037[/url]

Si es por eso deberías pasar la aplicación del jdk 1.4 al 1.5 o 1.6 para ver si se te soluciona.
¿cómo puedo pasar del 1.4 al 1.6 en caso de que sea eso? En propiedades o algo?
  #6 (permalink)  
Antiguo 23/04/2013, 09:50
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Obtener la IP en java

Si usas eclipse tienes esto
Window > Preferences > Java > Compiler : Modificar el Compiler compliance level a 1.5 o 1.6
Window > Preferences > Java > Installed JREs : Aquí tendrías que tener instalado el jdk1.5 o jdk1.6
En las properties del proyecto tienes que indicarle que use las que ya tiene "Use compliance from execution environment XXX on the Java Build Path.
Para acceder a ellas click boton derecho sobre el proyecto y seleccionar Java Build Path > Configure Build Path y seleccionas Java Compiler.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #7 (permalink)  
Antiguo 23/04/2013, 11:08
 
Fecha de Ingreso: febrero-2013
Mensajes: 25
Antigüedad: 11 años, 2 meses
Puntos: 2
Respuesta: Obtener la IP en java

Cita:
Iniciado por Fuzzylog Ver Mensaje
Si usas eclipse tienes esto
Window > Preferences > Java > Compiler : Modificar el Compiler compliance level a 1.5 o 1.6
Window > Preferences > Java > Installed JREs : Aquí tendrías que tener instalado el jdk1.5 o jdk1.6
En las properties del proyecto tienes que indicarle que use las que ya tiene "Use compliance from execution environment XXX on the Java Build Path.
Para acceder a ellas click boton derecho sobre el proyecto y seleccionar Java Build Path > Configure Build Path y seleccionas Java Compiler.
Hola he comprobado eso y es la 1.6, el SO es un fedora 16 de 32 bits ... ¿tiene esto algo que ver? No hay manera
  #8 (permalink)  
Antiguo 23/04/2013, 11:19
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Obtener la IP en java

Prueba esto (sacado de): http://stackoverflow.com/questions/4...me-is-64-chars

try {
// Replace eth0 with your interface name
NetworkInterface i = NetworkInterface.getByName("eth0");

if (i != null) {

Enumeration<InetAddress> iplist = i.getInetAddresses();

InetAddress addr = null;

while (iplist.hasMoreElements()) {
InetAddress ad = iplist.nextElement();
byte bs[] = ad.getAddress();
if (bs.length == 4 && bs[0] != 127) {
addr = ad;
// You could also display the host name here, to
// see the whole list, and remove the break.
break;
}
}

if (addr != null) {
System.out.println( addr.getCanonicalHostName() );
}
} catch (...) { ... }
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #9 (permalink)  
Antiguo 23/04/2013, 14:47
 
Fecha de Ingreso: febrero-2013
Mensajes: 25
Antigüedad: 11 años, 2 meses
Puntos: 2
Respuesta: Obtener la IP en java

Cita:
Iniciado por Fuzzylog Ver Mensaje
Prueba esto (sacado de): [url]http://stackoverflow.com/questions/4871451/inetaddress-getlocalhost-returns-wrong-result-when-hostname-is-64-chars[/url]

try {
// Replace eth0 with your interface name
NetworkInterface i = NetworkInterface.getByName("eth0");

if (i != null) {

Enumeration<InetAddress> iplist = i.getInetAddresses();

InetAddress addr = null;

while (iplist.hasMoreElements()) {
InetAddress ad = iplist.nextElement();
byte bs[] = ad.getAddress();
if (bs.length == 4 && bs[0] != 127) {
addr = ad;
// You could also display the host name here, to
// see the whole list, and remove the break.
break;
}
}

if (addr != null) {
System.out.println( addr.getCanonicalHostName() );
}
} catch (...) { ... }
Mañana intentaré probar, muchas gracias amigo!!
  #10 (permalink)  
Antiguo 05/05/2013, 02:28
 
Fecha de Ingreso: mayo-2013
Mensajes: 1
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Obtener la IP en java

1chencho1, pudiste solucionar? yo tengo el mismo problema /:

Etiquetas: direccion, ip, lan
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:13.