Maison  >  Article  >  Java  >  Introduction détaillée aux exemples de code pour obtenir l'adresse IP du serveur actuel en Java

Introduction détaillée aux exemples de code pour obtenir l'adresse IP du serveur actuel en Java

黄舟
黄舟original
2017-03-08 11:03:053382parcourir

Cet article présente principalement la méthode d'obtention de l'adresse IP du serveur actuel en Java. L'éditeur la trouve plutôt bonne, je vais donc la partager avec vous maintenant et la donner comme référence. Suivons l'éditeur pour y jeter un œil

1. Tomcat est un serveur web open source gratuit S'il est déployé localement, l'adresse correspondante est localhost et l'adresse correspondante est 127.0.0.1.

Exemple : il est accessible via la valeur racine du projet http://www.php.cn/:8080/, ou il est accessible via la racine du projet http://www.php.cn/ valeur.

S'il est déployé sur un système serveur (Linux), vous devez y accéder via l'adresse IP du serveur.

2. Parlons de la façon d'obtenir l'adresse IP :

Obtenir l'adresse IP locale :

public static void main(String[] args) {
    try {
       InetAddress address = InetAddress.getLocalHost();//获取的是本地的IP地址 //PC-20140317PXKX/192.168.0.121
       String hostAddress = address.getHostAddress());//192.168.0.121      
       InetAddress address1 = InetAddress.getByName("www.wodexiangce.cn");
       //获取的是该网站的ip地址,比如我们所有的请求都通过nginx的,所以这里获取到的其实是nginx服务器的IP地 
       String hostAddress1 = address1.getHostAddress());//124.237.121.122 
       InetAddress[] addresses = InetAddress.getAllByName("www.baidu.com");//根据主机名返回其可能的所有InetAddress对象 
       for(InetAddress addr:addresses){ 
       System.out.println(addr);//www.baidu.com/14.215.177.38 
       //www.baidu.com/14.215.177.37 
      } 
    } catch (UnknownHostException e) { 
       e.printStackTrace();
   } 
 }

Obtenir l'adresse IP du serveur (écrite par d'autres)

/**
   * 获取服务器IP地址
   * @return
   */
  @SuppressWarnings("unchecked")
  public static String getServerIp(){
    String SERVER_IP = null;
    try {
      Enumeration netInterfaces = NetworkInterface.getNetworkInterfaces();
      InetAddress ip = null;
      while (netInterfaces.hasMoreElements()) {
        NetworkInterface ni = (NetworkInterface) netInterfaces.nextElement();
        ip = (InetAddress) ni.getInetAddresses().nextElement();
        SERVER_IP = ip.getHostAddress();
        if (!ip.isSiteLocalAddress() && !ip.isLoopbackAddress()
            && ip.getHostAddress().indexOf(":") == -1) {
          SERVER_IP = ip.getHostAddress();
          break;
        } else {
          ip = null;
        }
      }
    } catch (SocketException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  
    return SERVER_IP;
  }
}

Les journaux d'élevage dans le système d'élevage intelligent IoT agricole basé sur le cadre SSM doivent être téléchargés Une photo est envoyée au serveur. Lors des tests locaux, puisque le chemin enregistré se trouve sur le disque local E, l'arrière-plan obtient directement le fichier de ressources de la zone locale. Lorsque le fichier est envoyé au serveur, le fichier est introuvable. On estime que l'adresse IP ne peut pas être obtenue et seul le chemin du fichier correspondant est disponible. Sur cette base, je souhaite concevoir un moyen de lire les informations du fichier. depuis le serveur, mais cela n'a pas abouti. Plus tard, j'ai découvert que localhost était cohérent avec 127.0.0.1, je me suis donc souvenu d'avoir utilisé l'adresse IP du serveur au lieu de localhost pour terminer l'opération de lecture, mais l'essentiel était toujours de lire à partir de l'interface frontale.


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!

Déclaration:
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