Java pour obtenir mon adresse IP
J'essaie d'obtenir mon adresse IP Internet en Java, mais je reçois à mon adresse locale (c'est à dire: 127.0.0.1), lorsque mon adresse IP 192.168.0.xxx
Je suis l'aide de la ligne:
InetAddress.getLocalHost().getHostAddress();
qui semble standard pour obtenir l'adresse IP, mais ce n'est pas ce que je recherche. Chaque tutoriel est dit d'utiliser cette ligne, donc je suis un peu confus.
Quelqu'un pourrait s'il vous plaît laissez-moi savoir comment je peux obtenir mon adresse IP est correcte s'il vous plaît?
Je suis en cours d'exécution sur un appareil qui est connecté en WiFi, et je ne suis pas en utilisant un câble. Je suis connecter au serveur avec l'IP donnée par ifconfig inet addr, et je suis à la recherche pour obtenir le dispositif de l'inet addr. J'ai pu vérifier l'adresse IP de la prise située sur le côté serveur, mais pensé qu'il serait plus agréable si l'appareil (client) indique au serveur l'IP avec laquelle il s'attend à d'autres appareils de se connecter sur.
- Est-il possible de vous connecter au serveur via le localhost? Est-ce code en cours d'exécution sur le serveur, ou une application de bureau, ou quoi?
- Qu'est-ce que "l'adresse IP"? Mon ordinateur a actuellement au moins cinq ans.
- Hmm à partir de la documentation:
If there is a security manager, its checkConnect method is called with the local host name and -1 as its arguments to see if the operation is allowed. If the operation is not allowed, an InetAddress representing the loopback address is returned.
- Je suis en cours d'exécution sur un appareil qui est connecté en WiFi, et je ne suis pas en utilisant un câble. Je suis connecter au serveur avec l'IP donnée par ifconfig inet addr, et je suis à la recherche pour obtenir le dispositif de l'inet addr.
- J'ai pu vérifier l'adresse IP de la prise située sur le côté serveur, mais pensé qu'il serait plus agréable si l'appareil (client) indique au serveur l'IP avec laquelle il s'attend à d'autres appareils de se connecter sur.
- stackoverflow.com/questions/494465/...
- Peut-être que je devrais juste avoir le serveur d'appel getRemoteSocketAddress().toString(); sur le client de la prise et de ne pas essayer d'avoir le client à la recherche de son propre IP.
Vous devez vous connecter pour publier un commentaire.
La
NetworkInterface
classe contient toutes les méthodes pertinentes, mais sachez qu'il n'y a pas une telle chose comme "mon IP". Une machine peut avoir plusieurs interfaces, et chaque interface peut avoir plusieurs adresses ip.Vous pouvez dresser la liste de tous avec cette classe, mais l'interface et l'IP que vous choisissez à partir de la liste dépend de ce que vous avez exactement besoin pour utiliser cette IP pour.
(
InetAddress.getLocalHost()
ne pas consulter vos interfaces, il retourne simplement la constante 127.0.0.1 (pour IPv4))Demandons AWS
MODIFIER
Avant de vous downvote, j'en suis bien conscient que ce n'est pas une solution java. Son une solution générale pour n'importe quel langage de programmation. Les autres solutions ne fonctionnent pas ainsi pour moi. Aussi je crois que la façon la plus facile de connaître votre IP est d'aller sur internet. Il peut être n'importe quel site, le serveur peut retourner votre client ip qu'il a obtenu dans la demande. Vous pouvez configurer votre propre point de terminaison pour elle.
Eu le même problème, trouvé la solution sur cette page: http://mrhawy.blogspot.it/2012/05/how-to-get-your-external-ip-address-in.html
eu des soucis avec ce code sur le long terme, plusieurs fois dans une semaine, le serveur ne veut pas répondre.
nouvelle solution:
Une autre option pour défaut d'interface réseau, juste j'ai essayé 5 min et il y a vu votre question 🙂
Ma Solution qui retourne seulement 1 Ip4 adresse:
Voici ma démarche pour obtenir l'adresse IP.
Veuillez voir ci-dessous pour code de travail.
Vous avez besoin pour obtenir le pot de jsoup ici
ajouter le pot de jsoup dans votre projet de java et de les interpréter, de lignes de code et vous obtiendrez votre adresse ip,