Dúvida!

2 respostas
Foxlol

Galera tem como, em uma aplicação Java (Destop), eu verificar se o computador está conectado à Internet e se estiver, obter o endereço IP ?

Se tem, me dêem um luz ae de como fazer !

Obrigado

2 Respostas

fenrir
Com o método abaixo você recebe uma lista contendo todos os endereços IP cadastrados na máquina.
public static List getIpAddress() {
    // pega todos os endereços ip cadastrados...
    List address = new ArrayList();
    try {
        Enumeration interfaces = NetworkInterface.getNetworkInterfaces();
        while (interfaces.hasMoreElements()) {
            NetworkInterface networkInterface = (NetworkInterface) interfaces.nextElement();
            Enumeration addresses = networkInterface.getInetAddresses();
            while (addresses.hasMoreElements()) {
                address.add((InetAddress) addresses.nextElement());
            }
        }
    } catch (SocketException ignored) { }

    return address;
}

Descobrir se algum deles é o que te liga à internet pode não ser tão simples, visto que você pode estar usando um proxy ou NAT, portanto usando um IP inválido. Acho que o melhor jeito é tentar abrir um Socket para um endereço externo. Se não der erro, maravilha! Eis o IP da sua conexão à internet.

Foxlol

PO muito obrigado era disso que tava precisando msm =)

Criado 6 de novembro de 2006
Ultima resposta 6 de nov. de 2006
Respostas 2
Participantes 2