1. 程式人生 > >201621123006 《Java程序設計》第13周學習總結

201621123006 《Java程序設計》第13周學習總結

代碼量 統計 1.3 .com index 為什麽 aid 觀察 指導

1. 本周學習總結

以你喜歡的方式(思維導圖、OneNote或其他)歸納總結多網絡相關內容。
技術分享圖片

2. 為你的系統增加網絡功能(購物車、圖書館管理、鬥地主等)-分組完成
為了讓你的系統可以被多個用戶通過網絡同時使用,需要為你的系統增加網絡功能。

2.1 簡述你想為你的系統增加什麽網絡功能?設計思路是什麽?
2.2 系統通過網絡傳遞了什麽信息?信息的格式是什麽?
2.3 你的網絡模塊使用了TCP還是UDP技術?模塊中的常用類是什麽?
2.4 截圖網絡通訊部分的源代碼與運行截圖,並進行簡單說明。
註意:如果不會編寫客戶端,可以使用telnet或者網絡調試助手*做客戶端。**

3. 碼雲與PTA
3.1 統計本周完成的代碼量


技術分享圖片

技術分享圖片

技術分享圖片

**選做:4. 網絡學習指導(以下作業內容均為選做)

  • 網絡基礎**

1.1 比較ping www.baidu.com與ping cec.jmu.edu.cn,分析返回結果有何不同?為什麽會有這樣的不同?
技術分享圖片

  • 由上圖可以看出,www.baidu.comcec.jmu.edu.cn的IP地址不同,因為服務器所屬的地區不同。另一方面,www.baidu.com的往返時間明顯比cec.jmu.edu.cn長。,這是集美大學的服務器距離我們較近而百度的服務器距離我們較遠。

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。
技術分享圖片

技術分享圖片

  • 屏幕上一片黑暗,沒有返回內容。當使用GET /index HTTP/1.0命令時返回了學校主頁源代碼。

1.4 啟動ConnectionWatcher, 然後啟動若幹個可以聯網的程序(如QQ, telnet,瀏覽器等),查看本機上有什麽程序聯網,使用了什麽端口?QQ占用了什麽端口和那些遠程IP進行交互,這些IP分布地在那裏?使用了什麽協議進行通信?

技術分享圖片

技術分享圖片

技術分享圖片

  • 本機上的QQ(80端口)、QQMusic(443端口)、火狐瀏覽器(51632端口)、WPS雲文件(49883端口)等程序聯網。其中QQ占用了80端口,和58.250.214.146

    進行交互。使用了TCP協議。
    1.5 編寫網絡程序必不可少的幾個信息是什麽?

  • 協議、IP地址、端口和域名。

2. 編寫TCP客戶端程序

2.1 參照SocketTest.java編寫一個簡單的連接遠程服務器小程序Client.java,可以接收並顯示服務器發送的信息。啟動時需要首先在控制臺指定遠程主機IP與端口號。(截圖,出現自己學號)。
技術分享圖片

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

  • 返回結果如下:
    技術分享圖片

技術分享圖片

2.3 將程序中的網址改成cec.jmu.edu.cn,端口號改為80進一步觀察返回結果。沒有任何返回結果,為什麽?怎麽修改代碼才能正常顯示?

  • 沒有返回結果是因為我們沒有發送get請求。改正代碼和運行截圖如下:

技術分享圖片

2.4 啟動網絡調試助手,將其設置為TCP Server,並啟動,嘗試使用Client.java連接該TCP Server,使用該服務器向Client發送信息。(截圖關鍵代碼與運行結果)

  • 同2.1,截圖如下:
    技術分享圖片

201621123006 《Java程序設計》第13周學習總結