android常用工具类 获取本机ip地址
来源:互联网 发布:淘宝最低价 编辑:程序博客网 时间:2024/06/03 21:32
public interface Enumeration<E>实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。
连续调用 nextElement 方法将返回一系列的连续元素 NetworkInterface.getNetworkInterfaces() 获取本机ip的一些信息
public class LocalIPResolver { public static String getLocalIP() { Enumeration ifaces; try { ifaces = NetworkInterface.getNetworkInterfaces(); while (ifaces.hasMoreElements()) { NetworkInterface iface = (NetworkInterface) ifaces.nextElement(); Enumeration iaddresses = iface.getInetAddresses(); while (iaddresses.hasMoreElements()) { InetAddress iaddress = (InetAddress) iaddresses.nextElement(); if (!iaddress.isLoopbackAddress() && !iaddress.isLinkLocalAddress() && !iaddress.isSiteLocalAddress()) { return iaddress.getHostAddress() != null ? iaddress.getHostAddress() : iaddress.getHostName(); } } } ifaces = NetworkInterface.getNetworkInterfaces(); while (ifaces.hasMoreElements()) { NetworkInterface iface = (NetworkInterface) ifaces.nextElement(); Enumeration iaddresses = iface.getInetAddresses(); while (iaddresses.hasMoreElements()) { InetAddress iaddress = (InetAddress) iaddresses.nextElement(); if (!iaddress.isLoopbackAddress() && !iaddress.isLinkLocalAddress()) { return iaddress.getHostAddress() != null ? iaddress.getHostAddress() : iaddress.getHostName(); } } } return InetAddress.getLocalHost().getHostAddress() != null ? InetAddress.getLocalHost().getHostAddress() : InetAddress.getLocalHost().getHostName(); } catch (SocketException e) { e.printStackTrace(); } catch (UnknownHostException e) { e.printStackTrace(); } return "127.0.0.1"; } /** * Obtain a free port we can use. * * @return A free port number. */ public static int getFreePort() { ServerSocket ss; int freePort = 0; for (int i = 0; i < 10; i++) { freePort = (int) (10000 + Math.round(Math.random() * 10000)); freePort = freePort % 2 == 0 ? freePort : freePort + 1; try { ss = new ServerSocket(freePort); freePort = ss.getLocalPort(); ss.close(); return freePort; } catch (IOException e) { e.printStackTrace(); } } try { ss = new ServerSocket(0); freePort = ss.getLocalPort(); ss.close(); } catch (IOException e) { e.printStackTrace(); } return freePort; }}
0 0
- android常用工具类 获取本机ip地址
- Android获取本机IP地址
- Android获取本机IP地址
- Android获取本机Mac地址及IP地址方法
- android:获取本机Mac地址及IP地址方法
- Android获取本机ip地址和Mac地址
- Android中获取本机ip地址和MAC地址
- Android获取本机Mac地址及IP地址方法
- Android中获取本机ip地址和MAC地址
- Android 获取本机Mac 地址方法及ip地址
- 获取本机IP地址
- 获取本机IP地址
- 获取本机IP地址
- 获取本机IP地址
- 获取本机IP地址
- 获取本机IP地址
- 获取本机IP地址
- 获取本机IP地址
- 上下限网络流模板
- Oracle 跨库 查询 复制表数据
- C#数字图像处理<九>
- 程序员提高效率的十个工具
- 有源汇的上下界最小流模板
- android常用工具类 获取本机ip地址
- htmlspecialchars和htmlentities的区别
- Android TraceView工具使用
- ios-AutoLayout(自动布局代码控制)简单总结
- 后缀数组罗穗蹇模板(dc3)
- 《Windows32 SDK教程》09章 鼠标消息处理
- BnWCsWHugi
- 内存拷贝memcpy()和填充函数memset()
- Objective-C学习及iOS开发的准备