201711671103《java程式設計》十三章學習筆記
1.java.net 包中的URL類是對統一資源定位符的抽象,使用URL建立物件的應用程式稱為客戶端程式,客戶端程式的URL物件呼叫Inputstream openstream()方法考科一返回一個輸入流,該輸入流指向URL物件所包含的資源,通過該輸入流可以將伺服器上的資源資訊讀入到客戶端。
2.網路套接字是基於TCP協議的有連線通訊,套接字連線就是客戶端的套接字物件和伺服器端的套接字物件通過輸入流,輸出流連線在一起。伺服器建立SeverSocket物件,SeverSocket物件負責等待客戶請求建立套接字連線,而客戶端建立Socket物件向伺服器發出套接字連線請求。
實現步驟:
①建立ServerSocket/Socket;
②獲取Socket連線的輸入/輸出流;
③對Socket中的輸入輸出流進行讀/寫操作;
④關閉輸入輸出流、關閉Socket;
在套接字通訊中,有兩個基本原則:
①伺服器應當啟動一個專門的執行緒,在該執行緒中與客戶的套接字建立連線;
②由於套接字的輸入流在讀取資訊時可能發生阻塞,伺服器和客服端都需要在一個單獨的執行緒中讀取資訊。
3.InetAddress類不用通過new獲取例項,直接用getLocalHost()方法獲得返回地址InetAddress的例項。
4.基於UDP的通訊和基於TCP的通訊不同,基於UDP的資訊傳遞更快,但不提供可靠性保證。
UDP程式設計主要的類:DatagramPacket 和 DatagramSocket這兩個類
服務端編寫步驟:①建立DatagramSocket
②建立DatagramPacket用來接收服務端傳送來的資訊
③接收資訊
④讀取資訊
客戶端編寫步驟:
①獲取服務端的IP地址和埠號
②建立DatagramPacket用來放需要傳送的資料資訊
③建立DatagramSocket
④傳送資訊
5.RMI是一種分散式技術,使用RMI可以讓一個虛擬機器(JVM)上的應用程式請求呼叫位於網路上另一處JVM上的物件方法。
6.設計廣播資料報網路程式是,必須將要廣播或接收廣播的主機加入到同一個D類地址,D類地址也稱組播地址,D類地址並不代表某個特定主機的位置,一個具有A.B或C類地址的主機要廣播資料或接收廣播,都必須加入到同一個D類地址。