熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

在Java2環境中應用IP地址封裝對象

2013-11-23 19:05:04  來源: Java核心技術 

  在Java環境中應用IP地址封裝對象
  
  作者蘇洋 本文選自賽迪網
  
  IP地址封裝對象的結構
  
  Java平台中定義的InetAddress對象是利用Java語言進行網絡通訊程序設計過程中對互聯網IP地址進行對象類型封裝後創建的JDK API對象以InetAddress對象為父對象Java平台中還定義了InetAddress和InetAddress對象分別對應於符合IPv規范和IPv規范的互聯網地址對象InetAddress對象的定義繼承關系如下
  
  
  
  javalangObject
  
  |
  
  +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地址封裝對象實例後調用該對象中定義的成員方法獲取服務的方式
  
  
  
  //IPAddressDemojava
  
  import *;
  
  public class IPAddressDemo
  
  {
  
  InetAddress localIPAddress = null;
  
  InetAddress ccidnetIPAddress = null;
  
  public static void main( String args[])
  
  {
  
  IPAddressDemo ipInstance;
  
  ipInstance = new IPAddressDemo();
  
  Systemoutprintln("本機IP地址 : " + ipInstancegetLocalIP());
  
  Systemoutprintln("賽迪網服務器IP地址 : " +
  
  ipInstancegetCCIDNETIP(""));
  
  Systemoutprintln("賽迪網服務器域名 : " +
  
  ipInstancegetCCIDNETName());
  
  }
  
  //取得本機IP地址成員方法
  
  public InetAddress getLocalIP()
  
  {
  
  try
  
  {
  
  localIPAddress = InetAddressgetLocalHost();
  
  }
  
  catch (UnknownHostException e)
  
  {}
  
  return ( localIPAddress );
  
  }
  
  //取得賽迪網服務器的IP地址成員方法
  
  public InetAddress getCCIDNETIP( String strServerName )
  
  {
  
  try
  
  {
  
  ccidnetIPAddress = InetAddressgetByName( strServerName );
  
  }
  
  catch (UnknownHostException e)
  
  {}
  
  return ( ccidnetIPAddress );
  
  }
  
  //通過IP地址封裝對象取得計算機系統域名成員方法
  
  public String getCCIDNETName()
  
  {
  
  String strServerName = null;
  
  try
  
  {
  
  strServerName = ccidnetIPAddressgetHostName();
  
  }
  
  catch (SecurityException e)
  
  {}
  
  return ( strServerName );
  
  }
  
  }
  
  
  
  上面的程序代碼中Java Main方法IPAddressDemo中定義了getLocalIPgetCCIDNETIP和getCCIDNETName三個成員方法分別用於獲取指向當前計算機系統的IP地址對象獲取指向賽迪網服務器的IP地址對象和利用該地址對象獲取服務器域名的方法
  
  從這些成員方法的定義形式可以看出InetAddress對象中定義的靜態類型成員方法getLocalHost和getByName返回的是InetAddress對象實例在後續程序代碼中可以直接調用該實例成員方法來獲取服務例如在getCCIDNETName方法中調用成員方法getHostName的過程該程序的輸出結果為
  
  
  
  本機IP地址 : support/
  
  賽迪網服務器IP地址 : /
  
  賽迪網服務器域名 :
  
  
  
  Java平台中定義了多種類型的對象用於以URLSocketRMI和CORBA等方式實現Java程序的網絡通信和數據交換而本文只是對互聯網環境中的基本應用對象-IP地址的Java封裝對象的結構和成員方法形式進行了簡要剖析並編寫了簡單的實例程序說明其成員方法的應用方式希望能夠為讀者利用Java語言進行網絡程序設計有所幫助
  

From:http://tw.wingwit.com/Article/program/Java/hx/201311/26247.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.