服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java获取本机的ip地址

 

可以用如下代码:

           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;
       }
   }

扫描关注微信公众号