2011-04-28 111 views

回答

8

尝试这样的事情

String ipAddress = null; 
    try { 
     for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { 
      NetworkInterface intf = en.nextElement(); 
      for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { 
       InetAddress inetAddress = enumIpAddr.nextElement(); 
       if (!inetAddress.isLoopbackAddress()) { 
        ipAddress = inetAddress.getHostAddress().toString(); 
       } 
      } 
     } 
    } catch (SocketException ex) {} 
+0

@Shahtaj如果你有你的答案,请记住接受解决方案.. – nitinsh99 2013-04-06 19:12:10

+0

获取IP地址0.0.0.0 – Umesh 2014-04-18 09:59:54

+0

@Josnidhin因为它运行在循环,你如何确保你实际上得到正确的IP?有可能真正的ip已经被使用这种方法获取的最后一个ip(在循环迭代中找到)覆盖。 – Kaps 2017-09-15 12:59:19

-1

移动设备不具有IP浏览通过3G连接时,您将获得服务器端代码的ISP IP。如果可能的话,我建议你用唯一的ID,设备类型和坐标替换IP。

相关问题