56 votes

java InetAddress.getLocalHost() ; renvoie 127.0.0.1 ... comment obtenir l'IP réelle ?

J'écris une application simple de mise en réseau. J'ai besoin de connaître l'IP réelle de ma machine sur le réseau, comme 192.168.1.3 . getLocalHost renvoie 127.0.0.1 (sous Linux, je ne sais pas si c'est la même chose sous Windows). Comment faire ?

1 votes

Dans mon Windows, System.out.println(InetAddress.getLocalHost().getHostAddress()) ; imprime 10.50.16.136

0 votes

Intéressant ... réponse correcte bien qu'elle ne fonctionne pas ?

0 votes

C'est très courant sur l'OS, la réponse incorrecte est marquée comme répondue.

-6voto

Origamer7 Points 209

Si vous voulez obtenir l'adresse IP de votre PC, vous devez utiliser l'objet "InetAddress", qui existe dans la bibliothèque "java.net.InetAddress".

La méthode suivante renvoie votre IP :

public String getIp() {

    String myIp = "";
    InetAddress ip;

    try {
        ip = InetAddress.getLocalHost();
        myIp = ip.getHostAddress();      // This method returns the IP.
    } catch (UnknownHostException e) {
        e.printStackTrace();
    }

    return myIp;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X