分享
 
 
 

在Java2环境中应用IP地址封装对象

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

在Java2环境中应用IP地址封装对象

IP地址封装对象的结构Java2平台中定义的InetAddress对象是利用Java语言进行网络通讯程序设计过程中,对互联网IP地址进行对象类型封装后创建的JDK API对象。以InetAddress对象为父对象,Java2平台中还定义了Inet4Address和Inet6Address对象,分别对应于符合IPv4规范和IPv6规范的互联网地址对象。InetAddress对象的定义继承关系如下:

java.lang.Object

|

+--java.net.InetAddress

在该对象中没有定义构造方法,即不能够利用new操作符创建InetAddress对象实例,那么如何获取该对象的实例呢?在InetAddress对象中定义了多种类型的成员方法,在应用程序中可以调用这些方法来实现相应的网络功能:

● byte[] getAddress()

● static InetAddress[] getAllByName(String host)

● static InetAddress getByAddr(byte[] addr)

● static InetAddress getByAddr(String host, byte[] addr)

● static InetAddress getByName(String host)

● String getHostAddress()

● static InetAddress getLocalHost()

… …

从上述InetAddress对象的成员方法定义名称可以看出:在Java应用程序中,可以采用不同的方法获取指定网络对象的IP地址封装对象实例,并进而调用该对象中定义的各种类型的成员方法为应用程序提供相应的功能。

IP地址封装对象应用实例

从上述InetAddress对象定义的成员方法的参数形式可以看出:在读者的Java应用程序中获取本机IP地址封装对象的方法只需要调用getLocalHost方法就可以实现,而可以采用通过指定IP地址、指定服务器名称的方式创建指向其它计算机系统的IP地址封装对象。下面的实例代码演示了InetAddress对象实例的创建方法,并在创建IP地址封装对象实例后,调用该对象中定义的成员方法获取服务的方式:

//IPAddressDemo.java

import java.net.*;

public class IPAddressDemo

{

InetAddress localIPAddress = null;

InetAddress ccidnetIPAddress = null;

public static void main( String args[])

{

IPAddressDemo ipInstance;

ipInstance = new IPAddressDemo();

System.out.println("本机IP地址 : " + ipInstance.getLocalIP());

System.out.println("赛迪网服务器IP地址 : " +

ipInstance.getCCIDNETIP("www.ccidnet.com.cn"));

System.out.println("赛迪网服务器域名 : " +

ipInstance.getCCIDNETName());

}

//取得本机IP地址成员方法

public InetAddress getLocalIP()

{

try

{

localIPAddress = InetAddress.getLocalHost();

}

catch (UnknownHostException e)

{}

return ( localIPAddress );

}

//取得赛迪网服务器的IP地址成员方法

public InetAddress getCCIDNETIP( String strServerName )

{

try

{

ccidnetIPAddress = InetAddress.getByName( strServerName );

}

catch (UnknownHostException e)

{}

return ( ccidnetIPAddress );

}

//通过IP地址封装对象取得计算机系统域名成员方法

public String getCCIDNETName()

{

String strServerName = null;

try

{

strServerName = ccidnetIPAddress.getHostName();

}

catch (SecurityException e)

{}

return ( strServerName );

}

}

上面的程序代码中,Java Main方法IPAddressDemo中定义了getLocalIP、getCCIDNETIP和getCCIDNETName三个成员方法,分别用于获取指向当前计算机系统的IP地址对象、获取指向赛迪网服务器的IP地址对象和利用该地址对象获取服务器域名的方法。

从这些成员方法的定义形式可以看出:InetAddress对象中定义的静态类型成员方法getLocalHost和getByName返回的是InetAddress对象实例,在后续程序代码中可以直接调用该实例成员方法来获取服务,例如在getCCIDNETName方法中调用成员方法getHostName的过程。该程序的输出结果为:

本机IP地址 : support/192.168.19.251

赛迪网服务器IP地址 : www.ccidnet.com.cn/210.51.0.73

赛迪网服务器域名 : www.ccidnet.com.cn

小结

Java2平台中定义了多种类型的对象,用于以URL、Socket、RMI和CORBA等方式实现Java程序的网络通信和数据交换,而本文只是对互联网环境中的基本应用对象-IP地址的Java封装对象的结构和成员方法形式进行了简要剖析,并编写了简单的实例程序说明其成员方法的应用方式,希望能够为读者利用Java语言进行网络程序设计有所帮助。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有