日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

201521123013 《Java程序设计》第13周学习总结

發(fā)布時間:2023/11/27 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 201521123013 《Java程序设计》第13周学习总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 本周學(xué)習(xí)總結(jié)

2. 書面作業(yè)

Q1. 網(wǎng)絡(luò)基礎(chǔ)

1.1 比較ping www.baidu.com與ping cec.jmu.edu.cn,分析返回結(jié)果有何不同?為什么會有這樣的不同?

  • ping值不同(time列),cec.jmu.edu.cn的ping值比較小。
  • ping值:從本地電腦發(fā)一個數(shù)據(jù)包,傳輸?shù)椒?wù)器,然后服務(wù)器返回本地電腦的總時間。因為cec.jmu.edu.cn的服務(wù)器離本機(jī)距離比較近,所以數(shù)據(jù)請求發(fā)送過去,再回來的時間就比較小,也就是ping值比較小。

1.2 telnet bbs.newsmth.net,上面這條命令連接的是遠(yuǎn)程主機(jī)的什么端口號?

  • 23端口

1.3 telnet cec.jmu.edu.cn 80,嘗試回答:你從屏幕看到一些什么內(nèi)容?返回的內(nèi)容是不是cec.jmu.edu.cn的主頁內(nèi)容?嘗試使用GET /index HTTP/1.0命令,會返回什么?詳見實驗任務(wù)書題目1。

  • 沒有內(nèi)容;返回的不是cec.jmu.edu.cn主頁內(nèi)容;使用GET /index HTTP/1.0命令,返回的是cec.jmu.edu.cn的主頁源代碼

1.4 啟動ConnectionWatcher, 然后啟動若干個可以聯(lián)網(wǎng)的程序(如QQ, telnet,瀏覽器等),查看本機(jī)上有什么程序聯(lián)網(wǎng),使用了什么端口?QQ占用了什么端口和那些遠(yuǎn)程IP進(jìn)行交互,這些IP分布地在那里?使用了什么協(xié)議進(jìn)行通信?



  • 酷狗、IE、QQ、360,使用了80端口、49329端口等等。使用了80端口跟遠(yuǎn)程IP進(jìn)行交互,使用了TCP協(xié)議。

1.5 編寫網(wǎng)絡(luò)程序必不可少的幾個信息是什么?

  • 套接字(Socket)、輸入輸出流(incoming.getInputStream(),getOutputStream())、TCP、UDP協(xié)議

Q2. 編寫TCP客戶端程序

2.1 參照SocketTest.java編寫一個簡單的連接遠(yuǎn)程服務(wù)器小程序Client.java,可以接收并顯示服務(wù)器發(fā)送的信息。啟動時需要首先在控制臺指定遠(yuǎn)程主機(jī)IP與端口號。(截圖,出現(xiàn)自己學(xué)號)

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


  • 因為eclipse編碼問題,有些字符無法正常顯示。

2.3 將程序中的網(wǎng)址改成cec.jmu.edu.cn,端口號改為80進(jìn)一步觀察返回結(jié)果。沒有任何返回結(jié)果,為什么?怎么操作

  • 因為客戶端跟服務(wù)器(cec.jmu.edu.cn)是通過http協(xié)議進(jìn)行交互的,所以需要使用GET命令請求消息。如果使用Socket的話,必須自己發(fā)送http請求,out.println("GET / HTTP/1.0\n")也可以使用URL類,因為URL類可以直接跟Web服務(wù)器進(jìn)行交互(里面封裝了使用http協(xié)議通信的代碼),使用比較方便。

2.4 啟動網(wǎng)絡(luò)調(diào)試助手,將其設(shè)置為TCP Server,并啟動,嘗試使用Client.java連接該TCP Server,使用該服務(wù)器向Client發(fā)送信息。(截圖)

2.5 回答:現(xiàn)在的Client.java只能接收信息,能否改造Client.java使其可以與服務(wù)器進(jìn)行交互(服務(wù)器可以發(fā)送信息給Client,Client也可發(fā)送信息給服務(wù)器),寫出大概思路即可。


Q3. ServerSocket與TCP服務(wù)器

3.1 簡易單線程MenuServer,題目3.1-3.4。(關(guān)鍵代碼及運行截圖,包含學(xué)號)可以使用網(wǎng)絡(luò)調(diào)試助手,將其設(shè)置為TCP Client(IP與端口填你的MenuServer的IP與端口),連接你的MenuServer。其中的文件搜索功能為選做。



3.2 多線程MenuServer(截圖證明你這個是多線程服務(wù)器,使用telnet連接)。

3.3 選做:圖形界面的MenuServer

Q4. UDP服務(wù)器

4.1 改造3.1或3.2,將其改造成基于UDP的MenuServer。(運行界面代碼截圖,包含學(xué)號)??梢允褂镁W(wǎng)絡(luò)調(diào)試助手,將其設(shè)置為UDP,要填本機(jī)IP與端口也要填遠(yuǎn)程服務(wù)器的IP與端口。

?參考:UDPServer.java

Q5. 論述題:網(wǎng)絡(luò)程序與流

5.1 前面編寫的程序用到了大量的流的相關(guān)知識。簡述,編寫網(wǎng)絡(luò)程序時應(yīng)當(dāng)選擇什么樣的流?Java網(wǎng)絡(luò)編程、流之間的關(guān)系。場景如:簡單的文字聊天、文件傳輸、應(yīng)用層協(xié)議服務(wù)器,如QQ、聊天室、網(wǎng)絡(luò)游戲。

  • 編寫網(wǎng)絡(luò)程序時選擇輸入輸出流的字節(jié)流,然后用字符流包裝??蛻舳撕头?wù)器進(jìn)行通信,實際上就是對Socket對象中獲得的流進(jìn)行操作。對程序來講,輸出到屏幕,打印機(jī),文件等都叫輸出,而從文件讀取,從網(wǎng)絡(luò)讀取,接收到都算輸入。

Q6. 代碼閱讀

閱讀ServerAndThread目錄中的源代碼

6.1 修改程序,在GUI界面中某個地方顯示自己的學(xué)號,然后運行該程序(截圖、出現(xiàn)學(xué)號)。簡述這個程序的主要功能。

  • 功能:一臺服務(wù)與多臺客戶端之間的通信。

6.2 畫出源代碼的結(jié)構(gòu)圖(各個類的依賴關(guān)系)。并簡要說明各個類的功能。

  • ClientChart:客戶端界面,ClientReadThread:讀取客戶端消息,ClientListener:監(jiān)聽器,監(jiān)聽客戶端收到的消息。
  • 服務(wù)端與客戶端類似。

6.3 簡述這個程序有什么不足之處及改進(jìn)方法.

  • 不足:客戶端發(fā)消息時,服務(wù)端知道是哪個線程發(fā)的消息,但是客戶端之間顯示只顯示“客戶端說:”,不能區(qū)分各客戶端。

選做:7. 網(wǎng)絡(luò)爬蟲

使用Socket、URL、正則表達(dá)式、流等編寫一個網(wǎng)絡(luò)爬蟲可以將cec.jmu.edu.cn及其所包含鏈接上的所有網(wǎng)址的圖片都下載下來,抓取深到不超過5。

選做:8. 簡易搜索引擎(進(jìn)階)

8.1 寫出設(shè)計思路即可。該搜索引擎包含幾部分?里面核心的實現(xiàn)思路?如果能用框架圖、流程圖畫出架構(gòu)

8.2 以計算機(jī)學(xué)院網(wǎng)站為例,進(jìn)行測試。比如,輸入ACM后搜索,可以將包含ACM的的網(wǎng)頁抽取出來。(可作為課程設(shè)計題目)

3. 碼云

碼云代碼提交記錄

轉(zhuǎn)載于:https://www.cnblogs.com/xygeqian/p/6875736.html

總結(jié)

以上是生活随笔為你收集整理的201521123013 《Java程序设计》第13周学习总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。