|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
第一部分 查找Internet地址 Java.net.InetAddress类是Java的IP地址封装类。 一.InetAddress有适合于初始化InetAddress对象的3个静态方式,它们是: 1)public static InetAddress InetAddress.getByName(String hostName) throws UnknowHostException 它需要将寻找的主机名作为参数,并使用DNS查找主机的IP地址 2)public static InetAddress[] InetAddress.getAllByName(String hostname) throws UnknowHostException 有些计算机具有一个以上的Internet地址,给定一个主机名,InetAddress.getAllByName()会返回一个包含了与该主机名相对应的所有地址的数组。 例如:InetAddress[] address=InetAddress.getAllByName(“www.apple.com”) 3)public static InetAddress InetAddress.getLocalHost() throws UnknowHostException InetAddress.getLocalHost()执行在一个计算机上,它将返回该机器的InetAddress。 Java.net包的几个其他方式也能返回InetAddress对象。 二.InetAddress类包含了三个将主机名作为字符串返回并将IP地址既作为字符串又作为字节数组返回的方式: 1) public String getHostName() getHostName()方式返回一个String,该字符串包含了具有该InetAddress对象表示的IP地址的主机名称,假如没有主机名返回一个具有点分形式的数字IP地址。 2) public byte[] getAddress() getAddress()将IP地址以网络字节顺序作为字节数组返回。 例如:InetAddress me =InetAddress.getLocalHost(); byte[ ] address=me.getAddress(); getAddress()返回的字节是无符号的,Java没有无符号字节的基本数据类型。值超过127以上的字节会作负数看待。因此需要做以下的改进: int unsignedByte=signedByte<0?signedByte+256:signedByte; 3) public String getHostAddress() getHostAddress()方式返回一个字符串,该字符串包含了点分格式的IP地址 InetAddress类中没有与它们相对应的setHostName()和setAddress()方式,因此Java可以确保主机名和IP地址的匹配。 三.java.net.IentAddress类继续了java.lang.Object。该类可以访问java.lang.Object中的所有方式。它重载了3个方式并提供了更加特别的功能 1)public Boolean equals(Object o) 仅当对象本身是InetAddress类的一个实例并且它具有一样的IP地址时,该对象等同于一个InetAddress对象。但是不需要具有一样的主机名。即只要IP地址一样就可以了。 2)public int hashCode() hashCode()方式返回一个int,当InetAddress对象在散列表中作为要害字使用时需要这个int值。hashCode()返回的int仅仅是被转变的int的4个字节的IP地址。该值对每两个不等同的InetAddress对象是不同的。假如两个InetAddress对象具有一样的地址,则即使它们具有不同的主机名也会具有一样的散列码。因此使用等同的InetAddress对象作为要害字在散列表中存储两个对象,则第二个对象会重载第一个对象。解决方式是使用getHostName()方式返回的String作为要害字来代替InetAddress本身。 3) public String toString() toString()产生的字符串具有下面的形式:主机名/点分地址 并非所有的InetAddress对象都有主机名,无主机名就用点分格式的IP地址来代替,该格式不明确地调用toString()。如要调用,语法很简朴: InetAddress thisComputer=InetAddress.getLocalHost(); String address=thisComputer.toString(); 返回类别: 教程 上一教程: 运行resin时的JMX MalformedObjectNameException问题 下一教程: Oracle & JSP 开发的小型信息治理系统 (五) 源代码4 您可以阅读与"Java网络编程的学习笔记(一)"相关的教程: · Java网络编程的学习笔记(二) · Java 网络编程---I/O部分学习笔记整理1 · Java学习笔记 · 《Effective Java》学习笔记(4) · 《Effective Java》学习笔记(3) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |