博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 自动获取广播地址
阅读量:2507 次
发布时间:2019-05-11

本文共 1700 字,大约阅读时间需要 5 分钟。

以下为windows下使用但linux下不能使用:

NetworkInterface netInterface = NetworkInterface.getByInetAddress(InetAddress.getLocalHost());        String broadCastIp = null;        if (!netInterface.isLoopback()&& netInterface.isUp()) {            List
interfaceAddresses = netInterface.getInterfaceAddresses(); for (InterfaceAddress interfaceAddress : interfaceAddresses) { //只有 IPv4 网络具有广播地址,因此对于 IPv6 网络将返回 null。 if(interfaceAddress.getBroadcast()!= null){ broadCastIp =interfaceAddress.getBroadcast().getHostAddress(); } } }

以下实现不管是windows还是linux都可以用:

/**     * 获取本机广播地址,并自动区分Windows还是Linux操作系统     * @return String     */    public static String getLocalBroadCast(){        String broadCastIp = null;        try {            Enumeration
netInterfaces = (Enumeration
) NetworkInterface.getNetworkInterfaces(); while (netInterfaces.hasMoreElements()) { NetworkInterface netInterface = (NetworkInterface) netInterfaces.nextElement(); if (!netInterface.isLoopback()&& netInterface.isUp()) { List
interfaceAddresses = netInterface.getInterfaceAddresses(); for (InterfaceAddress interfaceAddress : interfaceAddresses) { //只有 IPv4 网络具有广播地址,因此对于 IPv6 网络将返回 null。 if(interfaceAddress.getBroadcast()!= null){ broadCastIp =interfaceAddress.getBroadcast().getHostAddress(); } } } } }catch (Exception e) { e.printStackTrace(); } return broadCastIp; }

转载地址:http://bfmgb.baihongyu.com/

你可能感兴趣的文章
第五天站立会议内容
查看>>
CentOs7安装rabbitmq
查看>>
(转))iOS App上架AppStore 会遇到的坑
查看>>
解决vmware与主机无法连通的问题
查看>>
做好产品
查看>>
项目管理经验
查看>>
笔记:Hadoop权威指南 第8章 MapReduce 的特性
查看>>
JMeter响应数据出现乱码的处理-三种解决方式
查看>>
获取设备实际宽度
查看>>
图的算法专题——最短路径
查看>>
SQL批量删除与批量插入
查看>>
Notes on <High Performance MySQL> -- Ch3: Schema Optimization and Indexing
查看>>
C语言之一般树
查看>>
懂了很多大道理,却依旧过不好一生
查看>>
手工数据结构系列-C语言模拟队列 hdu1276
查看>>
【PyQt5 学习记录】008:改变窗口样式之二
查看>>
android EditText长按屏蔽ActionMode context菜单但保留选择工具功能
查看>>
BUAA 111 圆有点挤
查看>>
c++ 继承产生的名字冲突问题 (1)
查看>>
SQL中on条件与where条件的区别
查看>>