week13《java程序設計》第13次做業總結

week13《java程序設計》第13次做業總結

1. 本週學習總結

以你喜歡的方式(思惟導圖、OneNote或其餘)概括總結多網絡相關內容。
答:
1.IP與端口:ip和域名相對應,可找到主機。IP+端口(TCP/IP協議中的端口)找到主機上的對應程序。
web服務:80
ftp服務:21
Telnet服務:23
2.套接字通訊:實現客戶端和服務器端的鏈接。java

  • 對從Socket對象中得到的流操做,便可進行網絡通訊。
  • 創建Socket對象,從Scoket對象上獲取流。
  • 對流操做進行網絡通訊
  • 關閉Socket對象資源。
    3.ServerSocket:
  • 不是套接字,不是一種Socket。
  • 不負責與客戶端的具體通訊。
  • accept方法:監聽端口,等待網絡請求鏈接,返回Socket對象。
    4.多線程服務器:爲每一個客戶端產生一個Socket 對象,使用多線程技術,每一個線程調用不一樣的Socket對象與各自的客戶端通訊。
    5.URL類:統一資源定位符。能夠打開一個到達資源的流 。與Socket同時使用,更爲方便的進行web服務通訊。
    6.TCP與UDP:
    TCP:傳輸可靠,面向鏈接。使用Socket,老是使用TCP協議。
    UDP:不可靠,面向無鏈接,直接發送數據包

2. 爲你的系統增長網絡功能(購物車、圖書館管理、鬥地主等)-分組完成

爲了讓你的系統能夠被多個用戶經過網絡同時使用,須要爲你的系統增長網絡功能。web

2.1 簡述你想爲你的系統增長什麼網絡功能?設計思路是什麼?

答:當多個客戶訪問圖書系統時,分別爲每一個客戶產生一個Socket對象,由ServerSocket對象的accept監聽設計的端口,當有鏈接的時候就產生這個Socket對象,接着講Socket對象傳入一個線程中,在這個線程中進行系統登陸,註冊,借還書籍等操做。小程序

2.2 系統經過網絡傳遞了什麼信息?信息的格式是什麼?

答:系統經過網絡傳遞了圖書館中的圖書信息。信息格式是字符流,客戶和服務器都是得到InputStream流和OutputStream流。瀏覽器

2.3 你的網絡模塊使用了TCP仍是UDP技術?模塊中的經常使用類是什麼?

答:使用TCP技術,經常使用類是ServerSocket,Socket。服務器

2.4 截圖網絡通信部分的源代碼與運行截圖,並進行簡單說明。

注意:若是不會編寫客戶端,可使用telnet或者**網絡調試助手*作客戶端。
答:



客戶端程序給定系統端口號,進行訪問。系統端監聽是否有鏈接,有鏈接就啓動線程。(沒有運行成功)。網絡

3. 代碼量統計

3.1 統計本週完成的代碼量

須要每週的代碼統計狀況融合到一張表中。
多線程

周次 總代碼量 新增代碼量 總文件數 新增文件數
1 0 0 0 0
2 0 0 0 0
3 0 0 0 0
4 0 0 0 0
5 739 739 16 16
6 1084 345 28 12
7 1180 96 30 2
8 1627 447 35 5
9 1986 359 44 9
10 2350 364 56 12
11 2534 184 61 5
12 2909 375 70 9
13 4135 1226 93 23
14 4135 0 93 0
15 5584 1449 113 20

選作:4. 網絡學習指導(如下做業內容均爲選作)

1. 網絡基礎

1.1 比較ping www.baidu.comping cec.jmu.edu.cn,分析返回結果有何不一樣?爲何會有這樣的不一樣?

答:
socket

  • 訪問百度的時間較長,訪問校園教育網較快。TTL不一樣,訪問百度的TTL較小。TTL是數據包的生存時間,每通過一個路由器TTL就減一。從本機發往百度服務器的數據包在路由器上消耗時間較長,因爲距離緣由,訪問校園網的TTL較大。

1.2 telnet bbs.newsmth.net,上面這條命令鏈接的是遠程主機的什麼端口號?

答:端口號爲23
1.3 telnet cec.jmu.edu.cn 80,嘗試回答:你從屏幕看到一些什麼內容?返回的內容是否是cec.jmu.edu.cn的主頁內容?嘗試使用GET /index HTTP/1.0命令,會返回什麼?詳見實驗任務書題目1。
答:tcp

  • 沒有內容
  • 根據以下操做,返回cec.jmu.edu.cn的主頁內容,多是編碼不一樣,出現了亂碼現象
  1. telnet cec.jmu.edu.cn 80
  2. ctrl+]
  3. 按回車
  4. 輸入GET / HTTP/1.0
  5. 按兩下回車

1.4 啓動ConnectionWatcher, 而後啓動若干個能夠聯網的程序(如QQ, telnet,瀏覽器等),查看本機上有什麼程序聯網,使用了什麼端口?QQ佔用了什麼端口和那些遠程IP進行交互,這些IP分佈地在那裏?使用了什麼協議進行通訊?

答:

使用了qq瀏覽器,qq,360等等,使用443,80等端口。使用了TCP/IP協議。學習

2. 編寫TCP客戶端程序

2.1 參照SocketTest.java編寫一個簡單的鏈接遠程服務器小程序Client.java,能夠接收並顯示服務器發送的信息。啓動時須要首先在控制檯指定遠程主機IP與端口號。(截圖,出現本身學號)。

答:

2.2 將程序中的網址改爲bbs.newsmth.net,端口號改成23,再次觀察返回結果?嘗試執行telnet bbs.newsmth.net 23,對比返回結果。

答:

執行telnet bbs.newsmth.net 23:

相關文章
相關標籤/搜索