网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  在java2环境中应用ip地址封装对象     
  文章作者:未知  文章来源:水木森林  
  查看:75次  录入:管理员--2007-11-17  
 
  在java2环境中应用ip地址封装对象
  
  作者:苏洋 本文选自:赛迪网 2003年01月17日
  
  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语言进行网络程序设计有所帮助。
 
 
上一篇: md5算法的java源代码    下一篇: java数据库编程中查询结果的表格式输出
  相关文档
java通用集合库 11-17
2006的年度技术和框架介绍? 11-17
java 学习集中营 各种问题的分析讲解 11-17
简单的java访问共享文件 11-17
用maven更好地跟踪项目的进展情况 11-17
j2ee创建多媒体管理软件解决方案 11-17
使用spring aop框架和ejb组件 11-17
java基础:对象的序列化和反序列化实践 11-16
java编程思想读书笔记(第5-7章)二 11-17
实战jboss?d?d教你写第一个ejb 11-16
qmail的配置 11-17
通过 java swing 看透 mvc 设计模式 11-17
ejb 3.0开发指南之组合主键 11-17
tomcat中java/jsp中文问题完全解决方案 11-17
全面研读ejb 2.0(2) 11-17
实例讲解:java中的soap技术应用 11-17
java的时间处理(续) 11-17
java编程技术中汉字问题的分析及解决 11-17
管理 java 类路径(unix 和 mac os x) 11-17
使用treeview实现无限级扩展节点 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息