Erro ao pegar o IP

3 respostas
Pilantra

O galera, o que está de errado nesse código pra pegar o IP

public void DescobreIP() {
 try {
        InetAddress addr = InetAddress.getLocalHost();

        byte[] ipAddr = addr.getAddress();

        String hostname = addr.getHostName();
		String ipnum = String.valueOf(ipAddr);
		txtIP.setText(ipnum);
		txtHost.setText(hostname);

    } catch (UnknownHostException e) {
		JOptionPane.showMessageDialog(this, "Não foi possivel encontrar o IP");
    }
}

Ele retorna na caixa de texto o seguinte isso [B@dbe178

O que tem de errado!?

Obrigado

3 Respostas

wbsouza

Tá faltando um tekinho:

InetAddress ia = InetAddress.getLocalHost(); String ip = ia.getHostAddress(); String hostname = ia.getHostName(); System.out.println("ip: " + ip + " / hostname: " + hostname);

[]s, Welington B. Souza

Pilantra

Puzt deu certo só que ele joga o ip de localhost 127.0.0.1
Num tem um jeito dele pegar o IP da conexão?! Que não seja nem o IP da placa de rede e nem do modem!!! Porque isso o Linux tem um comando!!! =\

wbsouza

Annhh vc quer todas né? peraí …

Enumeration nis = NetworkInterface.getNetworkInterfaces(); while (nis.hasMoreElements()) { NetworkInterface ni = (NetworkInterface) nis.nextElement(); Enumeration ias = ni.getInetAddresses(); while (ias.hasMoreElements()) { InetAddress ia = (InetAddress) ias.nextElement(); String iface = ni.getName(); String ip = ia.getHostAddress(); String hostname = ia.getHostName(); System.out.println(iface + " -> ip: " + ip + " / hostname: " + hostname); } }

[]s, Welington B. Souza

Criado 12 de fevereiro de 2005
Ultima resposta 13 de fev. de 2005
Respostas 3
Participantes 2