国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

進階教程——Java網絡編程

2019-11-18 10:46:04
字體:
來源:轉載
供稿:網友

  java最初是作為一種網絡編程語言出現的,它能夠使用網絡上的各種資源和數據,與服務器建立各種傳輸通道,將自己的數據傳送到網絡的各個地方。你可以用Java很輕松地完成這些,因為Java類庫提供了很強大的網絡功能。
  
  本章主要介紹如下內容:
  
  Java網絡類和接口
  
  InetAddress類
  
  URL和URLConnection類
  
  TCP/ip服務器與客戶端套接字
  
  Datagram套接字
  
  Java網絡類和接口
  Java中有關網絡方面的功能都定義在java.net程序包中。Java所提供的網絡功能可大致分為三大類:
  
  URL和URLConnection 這是三大類功能中最高級的一種。通過URL的網絡資源表達方式,很輕易確定網絡上數據的位置。利用URL的表示和建立,Java程序可以直接讀入網絡上所放的數據,或把自己的數據傳送到網絡的另一端。
  
  Socket 所謂Socket,可以想像成兩個不同的程序通過網絡的通道,而這是傳統網絡程序中最常用的方法。一般在TCP/IP網絡協議下的客戶服務器軟件采用Socket作為交互的方式。
  
  Datagram 是這些功能中最低級的一種。其他網絡數據傳送方式,都假想在程序執行時,建立一條安全穩定的通道。但是以Datagram的方式傳送數據時,只是把數據的目的地記錄在數據包中,然后就直接放在網絡上進行傳輸,系統不保證數據一定能夠安全送到,也不能確定什么時候可以送到。也就是說,Datagram不能保證傳送質量。
  
  InetAddress類
  java.net.InetAddress類是Java的IP地址封裝類,它不需要用戶了解如何實現地址的細節。該類的定義如下:
  public final class InetAddress extends object implements Serializable
  
  該類里有兩個字段:hostName(String)和address(int),即主機名和IP地址。這兩個字段是不公開的,我們不能直接訪問它們。
  
  下面我們介紹InetAddress類提供的Internet地址的操作。
  
  1 創建InetAddress對象的方法
  
  InetAddress類沒有構造方法,要創建該類的實例對象,可以通過該類的靜態方法獲得該對象。這些靜態方法如下。
  
  public static InetAddress getLocalHost()
  
  方法getLocalHost()獲得本地機的InetAddress對象,當查找不到本地機器的地址時,觸發一個UnknownHostException異常。示范代碼如下:
  
  try {
  InetAddress address=InetAddress.getLocalHost( );
  …;   // 其他處理代碼
  }
  catch(UnknownException e) {
  …; // 異常處理代碼
  }
  
  public static InetAddress getByName (String host)
  
  方法getByName(String host)獲得由host指定的InetAddress對象,host是計算機的域名(也就是名字),其作用跟IP地址一樣,只不過域名標識計算機比IP標識計算機更易于記憶。假如找不到主機會觸發UnknownHostException異常。示范代碼如下:
  
  try {
  InetAddress address=InetAddress.getByName( host );
  …;   // 其他處理代碼
  }
  catch(UnknownException e) {
  … // 異常處理代碼
  }
  
  public static InetAddress[] getAllByName(String host)
  
  我們知道,在Internet上不答應多臺計算機共用一個名字(或者說是IP地址),但是在Web中,可以用相同的名字代表一組計算機。通過方法InetAddress[]getAllByName(String host)可以獲得具有相同名字的一組InetAddress對象。出錯了同樣會拋出UnknownException異常。示范代碼如下:
  
  try {
  InetAddress address=InetAddress.getAllByName( host );
  …;  // 其他處理代碼
  }
  catch(UnknownException e) {
  … // 異常處理代碼
  }
  
  2 實例:查詢IP地址的版本
  
  InteAddress類有一個getAddress()方法,該方法將IP地址以網絡字節順序作為字節數組返回。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仁怀市| 永康市| 谷城县| 延边| 互助| 沁阳市| 枣庄市| 靖安县| 叶城县| 米泉市| 万州区| 扎鲁特旗| 灌南县| 德州市| 肥东县| 温州市| 靖宇县| 宽甸| 菏泽市| 勐海县| 桦川县| 新宁县| 河北省| 合肥市| 霍邱县| 吉安县| 苍山县| 郎溪县| 丹阳市| 西盟| 宁陕县| 柳江县| 沂南县| 巴林右旗| 华阴市| 嘉兴市| 临高县| 聂荣县| 元氏县| 天祝| 大英县|