欢迎来到天天文库
浏览记录
ID:24739868
大小:616.00 KB
页数:12页
时间:2018-11-15
《chap03-网络地址29275》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、网络编程技术——Java语言网络编程河南理工大学计算机科学与技术学院网络工程系第三章网络地址3.1InetAddress类3.2Inet4Address类和Inet6Address类3.3NetworkInterface类3.4SocketAddress类3.1InetAddress类连接到网络上的设备称为节点(node),计算机设备被称为主机(host),每台设备通过IP地址进行标识主机名和IP地址可以通过DNS进行映射一台主机可以有多个名字一个主机名也可以映射到多个IP地址3.1InetAddre
2、ss类java.net.InetAddress是Java对IP地址的高层表示既可以表示IPv4地址(Inet4Address)也可以表示IPv6地址(Inet6Address)InetAddress作为参数用于构造套接字类(Socket)InetAddress类声明如下:publicclassInetAddressextendsObjectimplementsSerializable一个InetAddress类中包含一个主机名(Stringhostname)和一个IP地址(intaddress),这两个属
3、性是private的,不能够直接访问3.1InetAddress类创建InetAddress对象InetAddress类没有public类型的构造函数InetAddress类定义了四个静态方法返回格式正确的InetAddress对象(均抛出UnknownHostException):publicstaticInetAddressgetLocalHost()publicstaticInetAddressgetByName(StringhostName)publicstaticInetAddress[]get
4、AllByName(StringhostName)publicstaticInetAddressgetByAddress前三个方法会与本地DNS建立连接,获取InetAddress对象需要的信息由于网络连接的系统开销很大,所以查询结果会进行缓存3.1InetAddress类静态方法的使用//返回域名为"www.javathinker.org"的IP地址InetAddressaddr3=InetAddress.getByName("www.javathinker.org");//返回代表"222.34.5.
5、7"的IP地址InetAddressaddr2=InetAddress.getByName("222.34.5.7");//返回本地主机的IP地址InetAddressaddr1=InetAddress.getLocalHost();3.1InetAddress类InetAddress类中还有两个工厂方法,这两个方法不进行DNS连接publicstaticInetAddressgetByAddress(byte[]address)publicstaticInetAddressgetByAddress(St
6、ringhostname,byte[]address)3.1.2地址查询方法InetAddress类中其它的查询函数:publicbyte[]getAddress()publicStringgetHostAddress()publicStringgetHostName()publicStringgetCanonicalHostName()publicStringtoString()3.2Inet4Address和Inet6AddressInet4Address:InetAddress的子类,表示IPv4地
7、址:publicfinalclassInet4AddressextendsInetAddressInet6Address:InetAddress的子类,表示IPv6地址:publicfinalclassInet6AddressextendsInetAddress3.3NetworkInterface类NetworkInterface表示本地网络接口,即可以是一个以太网卡的物理接口,也可以是与其它IP地址绑定到同一物理设备上的一个虚拟接口,可以通过网卡名构建(eth0,lo0等)NetworkInterfa
8、ce没有public构造方法,但定义了三个静态方法(抛出SocketException异常):publicstaticNetworkInterfacegetByName(Stringname)publicstaticNetworkInterfacegetByInetAddress(InetAddressinetAddress)publicstaticEnumerationgetNetworkInterfaces()3.3Net
此文档下载收益归作者所有