以你喜歡的方式(思惟導圖、OneNote或其餘)概括總結多網絡相關內容。
answer:
(1)netassist能夠用來連接IP端口
(2)accept方法能夠用來監聽端口,當沒有客戶端鏈接時就阻塞
(3)Socket一般用來實現客戶端和服務器端的鏈接
(4)網絡上兩個程序經過一個雙向通訊鏈路實現數據交換,這個雙向鏈路的一端稱爲一個Socket
(5)IP地址能夠標識網絡上的主機
(6)GET / HTTP/1.0能夠返回一個HTML格式的文本頁java
1.1 比較ping www.baidu.com與ping cec.jmu.edu.cn,分析返回結果有何不一樣?爲何會有這樣的不一樣?
answer:
編程
1.2 telnet bbs.newsmth.net,上面這條命令鏈接的是遠程主機的什麼端口號?小程序
answer:瀏覽器
鏈接的是23端口。
1.3 telnet cec.jmu.edu.cn 80,嘗試回答:你從屏幕看到一些什麼內容?返回的內容是否是cec.jmu.edu.cn的主頁內容?嘗試使用GET /index HTTP/1.0命令,會返回什麼?詳見實驗任務書題目1。服務器
answer:網絡
沒有返回結果。
多線程
使用GET /index HTTP/1.0命令後,返回主頁源碼。socket
1.4 啓動ConnectionWatcher, 而後啓動若干個能夠聯網的程序(如QQ, telnet,瀏覽器等),查看本機上有什麼程序聯網,使用了什麼端口?QQ佔用了什麼端口和那些遠程IP進行交互,這些IP分佈地在那裏?使用了什麼協議進行通訊?tcp
answer:
學習
分別佔用了43三、80端口;
使用了TCP協議;
1.5 編寫網絡程序必不可少的幾個信息是什麼?
answer:
ip地址和域名、端口、協議、數據傳輸方式。
2.1 參照SocketTest.java編寫一個簡單的鏈接遠程服務器小程序Client.java,能夠接收並顯示服務器發送的信息。啓動時須要首先在控制檯指定遠程主機IP與端口號。(截圖,出現本身學號)
answer:
2.2 將程序中的網址改爲bbs.newsmth.net,端口號改成23,再次觀察返回結果?嘗試執行telnet bbs.newsmth.net 23,對比返回結果。
answer:
2.3 將程序中的網址改爲cec.jmu.edu.cn,端口號改成80進一步觀察返回結果。沒有任何返回結果,爲何?怎麼操做
answer:
2.4 啓動網絡調試助手,將其設置爲TCP Server,並啓動,以下圖所示
answer:
嘗試使用Client.java鏈接該TCP Server,使用該服務器向Client發送信息。(截圖)
2.5 回答:如今的Client.java只能接收信息,可否改造Client.java使其能夠與服務器進行交互(服務器能夠發送信息給Client,Client也可發送信息給服務器),寫出大概思路便可。
answer:
3.1 簡易單線程MenuServer,題目3.1-3.4。(關鍵代碼及運行截圖,包含學號)可使用網絡調試助手,將其設置爲TCP Client(IP與端口填你的MenuServer的IP與端口),鏈接你的MenuServer。其中的文件搜索功能爲選作。
3.2 多線程MenuServer(截圖證實你這個是多線程服務器,使用telnet鏈接)。
4.1 改造3.1或3.2,將其改形成基於UDP的MenuServer。(運行界面代碼截圖,包含學號)。可使用網絡調試助手,將其設置爲UDP,要填本機IP與端口也要填遠程服務器的IP與端口。
5.1 前面編寫的程序用到了大量的流的相關知識。簡述,編寫網絡程序時應當選擇什麼樣的流?Java網絡編程、流之間的關係。場景如:簡單的文字聊天、文件傳輸、應用層協議服務器,如QQ、聊天室、網絡遊戲。
閱讀ServerAndThread目錄中的源代碼
6.1 修改程序,在GUI界面中某個地方顯示本身的學號,而後運行該程序(截圖、出現學號)。簡述這個程序的主要功能。
6.2 畫出源代碼的結構圖(各個類的依賴關係)。並簡要說明各個類的功能。
6.3 簡述這個程序有什麼不足之處及改進方法.
碼雲代碼提交記錄