文档章节

java获取本机IP的方法

yolinfeng
 yolinfeng
发布于 2015/02/25 13:19
字数 161
阅读 47
收藏 0

简单的方法

InetAddress addr = InetAddress.getLocalHost();
  ip=addr.getHostAddress().toString;//获得本机IP
  address=addr.getHostName()toString;//获得本机名称

但是这个方法有局限性,在Linux下获取的地址一直为/etc/hosts文件中与本机hostname绑定的那个地址(ubuntu 9.04下默认是127.0.1.1)。

另一种方法是通过直接获取操作系统网络接口的方式来获得ip地址,代码如下:

Enumeration allNetInterfaces = null;
  try {
   allNetInterfaces = NetworkInterface.getNetworkInterfaces();
  } catch (java.net.SocketException e) {
   e.printStackTrace();
  }
  InetAddress ip = null;
  while (allNetInterfaces.hasMoreElements())
  {
   NetworkInterface netInterface = (NetworkInterface) allNetInterfaces
     .nextElement();
   System.out.println(netInterface.getName());
   Enumeration addresses = netInterface.getInetAddresses();
   while (addresses.hasMoreElements())
   {
    ip = (InetAddress) addresses.nextElement();
    if (ip != null && ip instanceof Inet4Address)
    {
     System.out.println("/u672c/u673a/u7684IP = "
       + ip.getHostAddress());
    }
   }
  }

【windows xp, ubuntu 9.04下测试通过】

© 著作权归作者所有

共有 人打赏支持
yolinfeng
粉丝 12
博文 196
码字总数 11946
作品 0
珠海
架构师
私信 提问
java获取ip为0:0:0:0:0:0:0:1的问题

0:0:0:0:0:0:0:1是ipv6的表现形式,对应ipv4来说相当于127.0.0.1,也就是本机 如果项目部署在本机win7系统,访问时是通过 localhost 来访问, 用java获取ip地址可能会出现该问题,这时获取的...

银月光海
2014/04/17
0
4
使用visualvm 远程监控 JVM Tomcat And J2SE程序

1.在服务器上配置 jstatd 的 security policy 文件 进人服务器的/usr/java/jdk1.6.0_26/bin目录中,在该目录下面建立一个新的文件jstatd.all.policy 文件中的内容为: grant codebase "file...

子萧
2014/04/17
0
0
使用Java的request获取IP地址实例

本文向您介绍使用Java获取IP地址的方法,在request.getRemoteAddr()方法在使用方向代理失效的情况下,本文的方法依然可以获取真是地址。 在JSP里,获取客户端的IP地址的方法是:request.get...

功夫panda
2012/12/17
0
0
【Canal源码分析】Canal Server的启动和停止过程

本文主要解析下canal server的启动过程,希望能有所收获。 一、序列图 1.1 启动 1.2 停止 二、源码分析 整个server启动的过程比较复杂,看图难以理解,需要辅以文字说明。 首先程序的入口在C...

端木轩
05/24
0
0
用 JNI 进行 Java 编程(4)

高级主题 概述 从 Java 程序内调用本机代码破坏了 Java 程序的可移植性和安全性。尽管已编译的 Java 字节码保持了很好的可移植性,但必须为您打算用来运行该应用程序的每个平台重新编译本机代...

Jerikc
2012/10/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

0020-使用JDBC向Kudu表插入中文字符-双引号的秘密

1.问题描述 使用Impala JDBC向Kudu表中插入中文字符,插入的中文字符串乱码,中文字符串被截断。 2.问题复现 测试环境: CDH5.12.0 Kudu1.4.0 ImpalaJDBC41_2.5.35 1.使用ImpalaJDBC代码进行...

Hadoop实操
8分钟前
0
0
配置防盗链、访问控制Directory、访问控制FilesMatch

11月19日任务 11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMatch 一.配置防盗链 通过限制referer来实现防盗链的功能 配置文件增加如下内容 <Directory /data/wwwroot/www...

hhpuppy
10分钟前
1
0
Java内存管理 -JVM 垃圾回收

一.概述 相比起C和C++的自己回收内存,JAVA要方便得多,因为JVM会为我们自动分配内存以及回收内存。 在之前的JVM 之内存管理 中,我们介绍了JVM内存管理的几个区域,其中程序计数器以及虚拟机...

终日而思一
12分钟前
0
0
Nginx 服务器之速率限制

Nginx服务器有一个非常有用的限速功能,但是它却常常被错误配置。 这个功能用来限制用户在某此时间段内请求的的HTTP请求数,此请求应该是 GET 或POST 来发出的请求。 这个限速功能常常被应用...

架构师springboot
23分钟前
0
0
锁和分布式锁

锁的由来 : 多线程环境中,经常遇到多个线程访问同一个 共享资源 ,这时候作为开发者必须考虑如何维护数据一致性,这就需要某种机制来保证只有满足某个条件(获取锁成功)的线程才能访问资源...

微笑向暖wx
25分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部