20145104張家明 《Java程序設計》第10周學習總結

20145104張家明 《Java程序設計》第10周學習總結

教材學習內容總結

網絡編程

  • 網絡編程就是兩個或多個設備(程序)之間的數據交換。html

  • 識別網絡上的每一個設備:①IP地址②域名(Domain Name)。一個IP地址能夠對應多個域名,一個域名只能對應一個IP地址。java

  • DNS服務器(域名解析):在實際傳輸數據之前須要將域名轉換爲IP地址。程序員

  • 端口:讓一個計算機能夠同時運行多個網絡程序。端口的號碼必須位於0-65535之間,每一個端口惟一的對應一個網絡程序,一個網絡程序可使用多個端口。編程

  • C/S結構:網絡編程的結構被稱做客戶端/服務器結構,也叫作Client/Server結構。瀏覽器

  • B/S結構:使用瀏覽器做爲客戶端的結構被稱做瀏覽器/服務器結構,也叫作Browser/Server結構。B/S結構其實也就是一種特殊的C/S結構。服務器

  • P2P程序:P2P程序中既包含客戶端程序,也包含服務器端程序,是一種特殊的程序。網絡

  • 協議(Protocol):在實際進行數據交換時,爲了讓接收端理解該數據,計算機比較笨,什麼都不懂的,那麼就須要規定該數據的格式,這個數據的格式就是協議。那麼如何來編寫協議格式呢?答案是隨意。只要按照這種協議格式可以生成惟一的編碼,按照該編碼能夠惟一的解析出發送數據的內容便可。也正由於各個網絡程序之間協議格式的不一樣,因此才致使了客戶端程序都是專用的結構。學習

  • 在現有的網絡中,網絡通信的方式主要有兩種: ①TCP(傳輸控制協議)方式 ②UDP(用戶數據報協議)方式編碼

  • 客戶端的編程主要由三個步驟實現:.net

一、創建網絡鏈接:在創建網絡鏈接時須要指定鏈接到的服務器的IP地址和端口號。(出現重複)

二、交換數據:交換數據嚴格按照請求響應模型進行。

三、關閉網絡鏈接。

  • 服務器端的編程是由四個步驟實現,依次是:

一、監聽端口:這個端口就是服務器端開放給客戶端的端口,服務器端程序運行的本地計算機的IP地址就是服務器
端程序的IP地址。

二、 得到鏈接:服務器端和客戶端也經過該鏈接進行數據交換。通常得到鏈接時,須要開啓專門的線程處理該連
接,每一個鏈接都由獨立的線程實現。

三、 交換數據。

四、 關閉鏈接。
InetAddress類:該類的功能是表明一個IP地址,而且將IP地址和域名相關的操做方法包含在該類的內部。

  • TCP方式的網絡編程實現時,以java.net.Socket類表明客戶端鏈接,以java.net.ServerSocket類表明服務器端鏈接。因爲高度的封裝,程序員實際編程時,只須要指定IP地址和端口號碼就能夠創建鏈接了。一方面簡化了Java語言網絡編程的難度,另外也使得Java語言進行網絡底層系統編程很困難,具體點說,Java語言沒法實現底層的網絡嗅探以及得到IP包結構等信息。

  • 實現服務器端監聽的代碼爲:

ServerSocket ss = new ServerSocket(10000);
實現UDP方式的編程,包含客戶端網絡編程和服務器端網絡編程,主要由兩個類實現,分別是:

一、DatagramSocket:實現「網絡鏈接」,包括客戶端網絡鏈接和服務器端網絡鏈接。DatagramSocket實現的
就是發送數據時的發射器,以及接收數據時的監聽器的角色。類比於TCP中的網絡鏈接,該類既能夠用於實現客戶
端鏈接,也能夠用於實現服務器端鏈接。

二、DatagramPacket:實現對於網絡中傳輸的數據封裝,該類的對象表明網絡中交換的數據。在UDP方式的網絡
編程中,不管是須要發送的數據仍是須要接收的數據,都必須被處理成DatagramPacket類型的對象,該對象中
包含發送到的地址、發送到的端口號以及發送的內容等。和TCP方式的網絡傳輸相比,IO編程在UDP方式的網絡編
程中變得不是必須的內容,結構也要比TCP方式的網絡編程簡單一些。

代碼託管

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第六週 894/1926 2/7 30/175 這周進行了第一次的實驗
第七週 254/2180 2/9 21/196 第二次java實驗
第八週 260/2440 2/11 20/216 第三次java實驗
第九周 380/2820 2/13 25/241 第四次java實驗
第十週 80/2900 2/15 23/264 第五次java實驗

參考資料

相關文章
相關標籤/搜索