標籤:form pac book 包含 subject soc 調用 http alt
學號 20165324 《Java程式設計》第九周學習總結教材學習內容總結第十三章 Java網路編程
URL類
- 使用URL建立對象的應用程式稱為用戶端
- 一個URL對象封裝一個具體資源的引用
- 一個URL對象包含最基本的三部分資訊:協議,地址和資源。
- URL類的構造方法:
- 該構造方法使用字串初始化一個URL對象
URL url=new URL("http://www.google.com");
public URL(String protocol,String host,String file)throws MalformedURLException,該構造方法使用的協議、地址、資源分別由參數protocol、host、file指定。
InetAddress類
- 地址的表示:
- 網域名稱
- IP地址:java.net包中InetAddress類對象含有一個Internet主機地址的網域名稱和IP地址。
- 擷取地址:
- 擷取Internet上主機的地址:使用InetAddress類的靜態方法
getByName(String s)將一個網域名稱或一個IP地址傳給該方法的參數s,獲得一個InetAddress對象,該對象含有主機地址的網域名稱和IP地址。
- 此外還有兩個執行個體方法:
public String getHostName(),擷取對象所含的網域名稱;public String getHostAddress(),擷取對象所含的IP地址。
- 擷取本地機的地址:使用InetAddress類的靜態方法getLocalHost()獲得一個InetAddress對象,該對象含有本地機器的網域名稱和IP地址。
通訊端
- 概述:IP地址標識Internet上的電腦,連接埠號碼識別服務器上的進程(程式)。兩個程式需要通訊時,可以通過使用Socket類建立通訊端對象並串連在一起。
- 用戶端通訊端:用戶端程式使用Socket類負責建立串連到伺服器的通訊端對象。構造方法為:
Socket(String host,int port),host為伺服器的IP地址,port是一個連接埠號碼。使用try-catch語句建立串連。
- ServerSocket對象與伺服器端通訊端:
為了能使客戶串連到伺服器,伺服器必須建立一個ServerSocket對象,該對象通過將用戶端的通訊端對象和伺服器端的一個通訊端對象串連起來。構造方法為:ServerSocket(int port),port是一個連接埠號碼,port必須和客戶呼叫的連接埠號碼相同。
try {ServerSocket severForClient = new ServerSocket(2333);}catch (IOException e) {}
當伺服器的ServerSocket對象serverForClient建立後,就可以使用方法accept()將客服端的通訊端和伺服器端的通訊端串連起來。
try {Socket sc = serverForCilent.accept();}catch (IOException e) {}
- 接受客戶的通訊端串連是指severForClient(伺服器端的ServerSocket對象)調用accept()方法會返回一個和用戶端Socket對象相串連的Socket對象sc,sc駐留在伺服器端。這個Socket對象sc調用getOutputStream()獲得的輸出資料流將指向客服端Socket對象的輸入資料流;對象sc調用getInputStream()獲得的輸入資料流將指向客服端Socket對象的輸出資料流。
建立串連後,伺服器端的通訊端對象調用getInetAddress()方法可以擷取一個InetAddress對象,該對象含有客服端的IP和網域名稱,客服端同理。
基於UDP通訊的基本模式
- 將資料打包,稱為資料包(好比將信件裝入信封一樣),然後將資料包發往目的地。
- 接受別人發來的資料包(好比接收信封一樣),然後查看資料包中的內容。
- 接受資料包:DatagramSocket的另一個構造方法DatagramSocket(int port) 建立一個對象,其中的參數必須和待接收的資料包的連接埠號碼相同
- DatagramSocket mail_in=new DatagramSocket(連接埠號碼);
然後對象mail_in使用方法receive(DatagramPacket pack)接受資料包。
- 用 DatagramPack類的另外一個構造方法:
DatagramPack(byte data[],int length)建立一個資料包,用於接收資料包
代碼託管
參考資料
Java學習筆記(第8版)
《Java學習筆記(第8版)》學習指導
20165324 《Java程式設計》第九周學習總結