Maison > Java > javaDidacticiel > Comment obtenir la bonne adresse IP de votre machine Java ?

Comment obtenir la bonne adresse IP de votre machine Java ?

Mary-Kate Olsen
Libérer: 2024-12-23 03:09:17
original
299 Les gens l'ont consulté

How to Get the Correct IP Address of Your Java Machine?

Obtention de l'adresse IP de la machine actuelle à l'aide de Java

Dans les systèmes distribués, les nœuds communiquent souvent entre eux en utilisant leurs adresses IP. Cependant, obtenir l'adresse IP correcte pour la machine actuelle peut être difficile en raison de la possibilité de plusieurs interfaces réseau et de différents types d'adresses IP.

Détermination de l'adresse IP appropriée

Par défaut, InetAddress.getLocalHost() renvoie l'adresse IP de la première interface réseau active. Cependant, ce n'est peut-être pas l'adresse souhaitée dans tous les cas, en particulier lorsqu'une adresse IP spécifique est requise, telle que l'adresse IP PPP ou l'adresse IP LAN.

Itération sur les interfaces réseau

Une approche consiste à utiliser NetworkInterface.getNetworkInterfaces() pour obtenir toutes les interfaces réseau de la machine. Chaque interface peut ensuite être vérifiée pour les adresses IP disponibles à l'aide de getInetAddresses(). En parcourant toutes les adresses IP disponibles, le type d'adresse IP souhaité (par exemple, PPP, LAN) peut être identifié.

Exemple de code

L'extrait de code suivant montre comment parcourir les interfaces réseau et afficher les adresses IP associées à chacune interface :

Enumeration e = NetworkInterface.getNetworkInterfaces();
while(e.hasMoreElements()) {
  NetworkInterface n = (NetworkInterface) e.nextElement();
  Enumeration ee = n.getInetAddresses();
  while (ee.hasMoreElements()) {
    InetAddress i = (InetAddress) ee.nextElement();
    System.out.println(i.getHostAddress());
  }
}
Copier après la connexion

Distinguer les adresses IP

Une fois les adresses IP obtenues, leur distinction peut se faire en vérifiant leur type. Adresses de bouclage (127.0.0.1), adresses privées (locales du site) (192.168.x.x, 10.x.x.x, 172.16.x.x), adresses de liaison locales (169.254.x.x), adresses de multidiffusion (224.x.x.x) et adresses de diffusion (255.255 .255.255) peuvent être identifiés à l'aide des méthodes fournies par InetAddress API.

Choisir la bonne adresse IP

Les critères spécifiques pour choisir la bonne adresse IP varient en fonction des exigences de l'application. En général, les étapes suivantes peuvent être envisagées :

  1. Vérifiez une adresse IP accessible publiquement (pas de bouclage, de lien local ou privé).
  2. Si disponible, utilisez l'adresse IP PPP adresse IP.
  3. Si l'adresse IP PPP n'est pas disponible, utilisez l'adresse IP LAN.
  4. En dernier recours, utilisez 127.0.0.1.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal