上面一篇简单介绍了InetAddress的基本用法
现在简单说明下NetworkInterface可以获取本机网络接口的相关信息,包括硬件地址,MTU,所有的IP地址等信息,需要获取本机IP时,最好使用NetworkInterface对配置的IP地址进行筛选
三个静态方法 getNetworkInterfaces()
getByName(String name)
getByInetAddress(InetAddress addr)
1.getNetworkInterfaces()
Enumeration<NetworkInterface> e=NetworkInterface.getNetworkInterfaces();
while(e.hasMoreElements())
System.out.println(e.nextElement().getName());
结果
//三个练习不清楚
lo //lo是环回接口
eth0 //本地连接的地址
ppp0 //网络拨号的
2.getByName(String name)//上面的网络接口名称
NetworkInterface n= NetworkInterface.getByName("ppp0");
System.out.println(n.getInetAddresses().nextElement().getHostAddress());
结果
14.109.117.39 //我的网络地址
3.getByInetAddress(InetAddress addr)
NetworkInterface n= NetworkInterface.getByInetAddress(InetAddress.getLocalHost());
System.out.println(n.getName());
结果
ech0 //我设置的本地连接的
总的来说
InetAddress使用InetAddress的getByName方法可以获取远程服务的IP地址(通过DNS服务获取的),使用getAllByName方法可以获取远程指定服务的所有服务主机的IP地址。
用getLocalHost方法可以获取本地IP地址,但是这种方式并不可靠,当出现多张网卡,或一个网络接口配置了多个IP,或者不同的操作系统类型,都不能保证能够获得想要的IP。
NetworkInterface 获得本地网络的所有信息
总的网络关系不是太清楚。。。
分享到:
相关推荐
ASP.NET+SQL Server2005网络编程二合一百例 感觉不错,就上传上来和大家共同分享了
Windows网络编程第二版这本书是我在研究IOCP机制时候发现的,豆瓣网也有推荐,适合刚入门学习Windows网络编程的朋友。
Windows网络编程第二版(中文)(包括高清中文PDF,英文的CHM,源码)
Windows网络编程(第二版)-中文PDF
UNIX网络编程随书源代码(包含卷一卷二)
Windows网络编程(第二版免费).pdf
linux C语言 网络编程教程及源码 一、网络应用层编程 1、Linux网络编程01——网络协议入门 2、Linux网络编程02——无连接和面向连接的区别 3、Linux网络编程03——字节序和地址转换 4、Linux网络编程04——套接字 5...
unix网络编程卷二 源码
ASP.NET 2.0+SQL Server 2005网络应用编程二合一百例/网冠科技编著 网页制作工具, ASP.NET 2.0-程序设计 ;关系数据库-数据库管理系统, SQL Server 2005
C++基础的网络编程,适合初学者的源代码。C++基础的网络编程,适合初学者的源代码。C++基础的网络编程,适合初学者的源代码。
UNIX网络编程第二卷 进程间通信
UNIX网络编程卷一:套接口编程的全套源码!是学习UNIX/LINUX网络编程的经典资料!
UNIX网络编程(第2版)第1卷_套接口API和XOpen.传输接口API
笔记_UNIX环境网络编程卷二进程间通信_中文第二版
UNIX网络编程 卷一卷二合集.zipUNIX网络编程 卷一卷二合集.zip
unix网络编程第一卷的源码,是官方未改变版本的
包括Steven编写的UNIX网络编程的第一卷套接字联网API和第二卷进程间通信,最重要的是还包含本书所使用到的所有编程代码。 本书是学习TCP/IP的必备书籍,希望可以给大家提供帮助。
Windows网络编程(第2版)杨秋黎 课后习题答案
unix网络编程一二卷
Windows网络编程第二版中文.pdfWindows网络编程第二版中文.pdf