日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

201521123122 《java程序设计》第十三周学习总结

發(fā)布時(shí)間:2025/5/22 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 201521123122 《java程序设计》第十三周学习总结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

## 201521123122 《java程序設(shè)計(jì)》第十三周實(shí)驗(yàn)總結(jié) ##

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

以你喜歡的方式(思維導(dǎo)圖、OneNote或其他)歸納總結(jié)多網(wǎng)絡(luò)相關(guān)內(nèi)容。

2. 書面作業(yè)

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

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

1.結(jié)果如圖所示:

2.ping是測試網(wǎng)絡(luò)聯(lián)接狀況以及信息包發(fā)送和接收狀況非常有用的工具,是網(wǎng)絡(luò)測試最
常用的命令。ping向目標(biāo)主機(jī)(地址)發(fā)送一個(gè)回送請求數(shù)據(jù)包,要求目標(biāo)主機(jī)收到請求后給予答復(fù),從而判斷網(wǎng)絡(luò)的響應(yīng)時(shí)間和本機(jī)是否與目標(biāo)主機(jī)(地址)連通。
3.其中字節(jié)(bite)是發(fā)送的字節(jié)量 ,時(shí)間(time)是返回的時(shí)間數(shù)值,越小速度越快,TTL(time to live)是指數(shù)據(jù)包從去到返回所生存的時(shí)間。
4.從cmd的運(yùn)行結(jié)果中可以看到,訪問www.baidu.com的響應(yīng)時(shí)間要比訪問cec.jmu.edu.cn的時(shí)間長,因?yàn)閏ec.jmu.edu.cn的服務(wù)端離我們更近吧

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

在cmd中運(yùn)行如下:

telnet 命令一般是連接23端口
參考鏈接如何查看網(wǎng)絡(luò)端口?

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

在cmd中運(yùn)行結(jié)果如下:

如果客戶端要和遠(yuǎn)程服務(wù)器相連接時(shí),一定要遵循HTTP協(xié)議。

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

截圖所示:

聯(lián)網(wǎng)的程序有QQ,360等,使用了很多端口,如360 使用了443端口,qq占用了80端口,8080端口和443端口,使用了TCP協(xié)議進(jìn)行通信。如36.250.8.154分布在中國 福建省 福州市聯(lián)通。

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

套接字(IP+端口) 使用TCP還是UDP協(xié)議,輸入輸出流。

2. 編寫TCP客戶端程序

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

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


顯示內(nèi)容是一樣的,是因?yàn)椴煌木幋a導(dǎo)致看起來有所不同。

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

沒有返回結(jié)果,因?yàn)榭蛻舳讼蜻h(yuǎn)程服務(wù)器發(fā)送信息時(shí),要遵循HTTP協(xié)議

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

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

2.6 選做:實(shí)現(xiàn)2.5

在原有的代碼中添加一個(gè)輸出流,利用flush函數(shù),將緩存區(qū)的數(shù)據(jù)讀出即可。
2.4+2.5代碼截圖如下:

參考:實(shí)驗(yàn)任務(wù)書-題目2

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

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

文件搜索函數(shù)沒寫。


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

4. UDP服務(wù)器

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

參考:UDPServer.java

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

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

網(wǎng)絡(luò)編程的實(shí)質(zhì)就是在兩臺(tái)或者多臺(tái)計(jì)算機(jī)中進(jìn)行數(shù)據(jù)的傳輸,而流在其中起了傳輸數(shù)據(jù)的作用,基本的Socket客戶端是用輸入流和輸出流來實(shí)現(xiàn)兩臺(tái)主機(jī)之間的數(shù)據(jù)傳遞。socket的輸入輸出流是字節(jié)流,然后用字符流來包裝。

6. 代碼閱讀

閱讀ServerAndThread目錄中的源代碼

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

實(shí)現(xiàn)客戶端和服務(wù)端之間的通信。

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

功能
ClientChart 客戶端JFrame窗口化,JLabel,JTextField和JButton的增加
ClientListener 監(jiān)聽器
ClientReadThread 接收客戶端信息并顯示
ServerChart 服務(wù)端JFrame窗口化,JLabel,JTextField和JButton的增加
SeverActionListener 監(jiān)聽器
MainThread 建立在線用戶列表
ServerReadThread 提示用戶連接情況,服務(wù)端把收到的消息轉(zhuǎn)發(fā)給所有的用戶

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

不同客戶端發(fā)送的信息在每一個(gè)客戶端中都會(huì)顯示,單看客戶端 無法知道是哪一個(gè)客戶端發(fā)出的信息。

3. 碼云

碼云代碼提交記錄

在碼云的項(xiàng)目中,依次選擇“統(tǒng)計(jì)-Commits歷史-設(shè)置時(shí)間段”, 然后搜索并截圖

4.課外閱讀

4.1 Java Tutorial:Custom Networking

Trail: Custom Networking
主要看Overview of Networking,Working With URLs,All About Sockets,All About Datagrams

4.2 HTTP協(xié)議簡介

4.3一個(gè)簡單的小爬蟲

Java編程技巧:小爬蟲程序.docx

4.4 進(jìn)階:HTTPComponent的使用

使用java中的Socket、URL、URLConnection,然后遵循HTTP協(xié)議也可以編寫一個(gè)小程序,和可以查詢成績的HTTP服務(wù)器進(jìn)行交流。然而直接使用Socket編程較麻煩,這時(shí)候我們可以使用HTTPComponent。
HTTPComponent相比傳統(tǒng)JDK自帶的URLConnection,增加了易用性和靈活性

1. 閱讀HttpClient 教程,使用HTTPComponent編寫一些與HTTP服務(wù)器交換的示例程序

2. 選做:使用HTTPComponent開發(fā)一個(gè)查詢成績的程序:用戶輸入用戶名、密碼、驗(yàn)證碼,即可自動(dòng)查詢教務(wù)處服務(wù)器,獲取成績。

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

總結(jié)

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

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