20145129 《Java程序設計》第10周學習總結
教材學習內容總結
- 網絡編程
- 計算機網絡概述: 網絡編程的實質就是兩個(或多個)設備(例如計算機)之間的數據傳輸。
- 網絡中的每一個設備都會有一個惟一的數字標識,這個就是IP地址,在計算機網絡中,如今命名IP地址的規定是IPv4協議,該協議規定每一個IP地址由4個0-255之間的數字組成.
- 一個IP地址能夠對應多個域名,一個域名只能對應一個IP地址。
- 在網絡中傳輸的數據,所有是以IP地址做爲地址標識,因此在實際傳輸數據之前須要將域名轉換爲IP地址,實現這種功能的服務器稱之爲DNS服務器,也就是通俗的說法叫作域名解析。
- 每一個端口惟一的對應一個網絡程序,一個網絡程序可使用多個端口。
- 網絡編程概述
- 網絡編程就是兩個或多個程序之間的數據交換
- 在網絡通信中,第一次主動發起通信的程序被稱做客戶端(Client)程序,簡稱客戶端,而在第一次通信中等待鏈接的程序被稱做服務器端(Server)程序,簡稱服務器。
- 網絡編程的結構被稱做客戶端/服務器結構,也叫作Client/Server結構,簡稱C/S結構。
- 使用瀏覽器做爲客戶端的結構被稱做瀏覽器/服務器結構,也叫作Browser/Server結構,簡稱爲B/S結構。
- 另外簡單的介紹一下P2P(Point to Point)程序,常見的如BT、電驢等。P2P程序是一種特殊的程序,應該一個P2P程序中既包含客戶端程序,也包含服務器端程序.
- 在實際進行數據交換時,爲了讓接收端理解該數據,那麼就須要規定該數據的格式,這個數據的格式就是協議。
- 網絡通信方式
- 在現有的網絡中,網絡通信的方式主要有兩種: TCP(傳輸控制協議)方式、UDP(用戶數據報協議)方式。
- TCP(傳輸控制協議)方式:使用該種方式進行網絡通信時,須要創建專門的虛擬鏈接,而後進行可靠的數據傳輸,若是數據發送失敗,則客戶端會自動重發該數據。
- UDP方式:就相似於發送短信,使用這種方式進行網絡通信時,不須要創建專門的虛擬鏈接,傳輸也不是很可靠,若是發送失敗則客戶端沒法得到。
- TCP須要創建專用的虛擬鏈接以及確認傳輸是否正確,因此使用TCP方式的速度稍微慢一些,並且傳輸時產生的數據量要比UDP稍微大一些。
- 網絡編程步驟:
- 客戶端網絡編程步驟:創建網絡鏈接、交換數據、關閉網絡鏈接
- 服務器端網絡編程步驟:監聽端口、得到鏈接、交換數據、關閉鏈接
- TCP編程
- 如何複用Socket鏈接?創建鏈接之後,將數據交換的邏輯寫到一個循環中
- 如何使服務器端支持多個客戶端同時工做?當服務器端接收到一個鏈接時,啓動一個專門的線程處理和該客戶端的通信。按照這個思路改寫的服務端示例程序將由兩個部分組成,MulThreadSocketServer類實現服務器端控制,實現接收客戶端鏈接,而後開啓專門的邏輯線程處理該鏈接,LogicThread類實現對於一個客戶端鏈接的邏輯處理,將處理的邏輯放置在該類的run方法中
教材學習中的問題和解決過程
暫無java
代碼調試中的問題和解決過程
暫無編程
其餘(感悟、思考等,可選)
對學習網絡編程更加具備邏輯性,瞭解基本知識,並熟知兩種通信方式以及編寫方法。瀏覽器
學習進度條
目標 |
3000行 |
15篇 |
300小時 |
|
第一週 |
50/50 |
2/2 |
14/14 |
|
第二週 |
100/150 |
1/3 |
10/24 |
|
第三週 |
300/450 |
1/4 |
15/39 |
|
第四周 |
350/800 |
1/5 |
50/74 |
|
第五週 |
200/1000 |
1/6 |
30/104 |
|
第六週 |
500/1500 |
2/8 |
26/130 |
|
第七週 |
200/1700 |
2/10 |
20/130 |
|
第八週 |
316/2016 |
2/12 |
20/150 |
|
第九周 |
316/2016 |
2/12 |
20/150 |
|
第十週 |
532/2548 |
2/14 |
20/170 |