黑马程序员技术交流社区
标题:
有关NetworkInterface网络接口信息的问题
[打印本页]
作者:
张晋瑜
时间:
2013-3-13 10:56
标题:
有关NetworkInterface网络接口信息的问题
本帖最后由 张晋瑜 于 2013-3-16 21:12 编辑
先看下代码
public class NetworkInterface {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
// java.net.NetworkInterface ni=java.net.NetworkInterface.getByName("eth0");
// 192.168.1.1 是我自己的路由器设置的默认网关,为什么运行结果却老是说:网络接口不存在呢?
java.net.NetworkInterface ni=java.net.NetworkInterface.getByInetAddress(InetAddress.getByName("192.168.1.1"));
System.out.println((ni==null) ? "网络接口不存在" : ni.toString());
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnknownHostException e){
e.printStackTrace();
}
}
}
复制代码
正如注释中所说,为什么运行结果会是“网络接口不存在呢”?
还有,当我java.net.NetworkInterface.getByName("eth0");却不会说“网络接口不存在”,但是,没有返回和这个网络接口上绑字的所有 IP 地址,这是为什么?
作者:
wanggang
时间:
2013-3-13 12:20
getByName("");这个函数就是在给定主机名的情况下确定主机的 IP 地址。使用你的主机名能打印出路由给你的电脑所分配的IP,interfaceaddress 这个类方法不多,但只能够获取IP 地址、子网掩码和广播地址,体现不了你需要的默认路由。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2