WEB开发网
开发学院WEB开发Jsp java获取本机的ip地址 阅读

java获取本机的ip地址

 2008-01-05 09:06:14 来源:WEB开发网   
核心提示: 可以用如下代码: InetAddress inet = InetAddress.getLocalHost(); System.out.PRintln("本机的ip=" + inet.getHostAddress());在window下面可以工作,在linux下返回127.0.0.1,java获
 

可以用如下代码:

    InetAddress inet = InetAddress.getLocalHost();
       System.out.PRintln("本机的ip=" + inet.getHostAddress());

在window下面可以工作。在linux下返回127.0.0.1。主要是在linux下返回的是/etc/hosts中配置的localhost的ip地址,而不是网卡的绑定地址。后来改用网卡的绑定地址,可以取到本机的ip地址:)

代码如下:

//根据网卡取本机配置的IP
    Enumeration netInterfaces=NetworkInterface.getNetworkInterfaces();
    InetAddress ip = null;
  while(netInterfaces.hasMoreElements())
  {
  NetworkInterface ni=(NetworkInterface)netInterfaces.nextElement();
  System.out.println(ni.getName());
  ip=(InetAddress) ni.getInetAddresses().nextElement();
  if( !ip.isSiteLocalAddress()
  && !ip.isLoopbackAddress()
  && ip.getHostAddress().indexOf(":")==-1)
  {
   System.out.println("本机的ip=" + ip.getHostAddress());
   break;
  }
  else
  {
          ip=null;
    }
  }


Tags:java 获取 本机

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接