




已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
浙江大學(xué)城市學(xué)院實(shí)驗(yàn)報(bào)告課程名稱 計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用 實(shí)驗(yàn)項(xiàng)目名稱 實(shí)驗(yàn)六 傳輸層網(wǎng)絡(luò)編程 實(shí)驗(yàn)成績 指導(dǎo)老師(簽名) 日期 2014-05-27 一. 實(shí)驗(yàn)?zāi)康暮鸵?. 通過實(shí)現(xiàn)使用Java Socket進(jìn)行通信的UDP客戶端和服務(wù)器來獲得關(guān)于使用Java Socket網(wǎng)絡(luò)編程的經(jīng)驗(yàn);2. 通過實(shí)現(xiàn)使用Java Socket進(jìn)行通信的TCP客戶端和服務(wù)器來獲得關(guān)于使用Java Socket網(wǎng)絡(luò)編程的經(jīng)驗(yàn)。二. 實(shí)驗(yàn)內(nèi)容、原理及實(shí)驗(yàn)結(jié)果與分析1. UDP編程(參考電子講義“網(wǎng)絡(luò)編程參考資料-傳輸層.pdf”及教材“第2章 Socket編程”)1.1閱讀 “網(wǎng)絡(luò)編程參考資料-傳輸層.pdf”中 11.2部分,輸入11.2.4部分“最簡單的UDP程序”的源代碼(UdpSend.java和UdpRecv.java)并在機(jī)器上編譯運(yùn)行通過(注意:要根據(jù)自己的機(jī)器IP地址修改源代碼)?!境绦蛟创a】UdpSend.javaimport .*;public class UdpSend public static void main(String args) throws Exception DatagramSocket ds=new DatagramSocket(); String str=Hello Chengyining!; DatagramPacket dp=new DatagramPacket(str.getBytes(),str.length(), InetAddress.getByName(5),3000); ds.send(dp); ds.close(); UdpRecv.javaimport .*;public class UdpRecv public static void main(String args) throws Exception DatagramSocket ds=new DatagramSocket(3000); byte buf=new byte1024; DatagramPacket dp=new DatagramPacket(buf,1024); ds.receive(dp); String strRecv=new String(dp.getData(),0,dp.getLength()+ from +dp.getAddress().getHostAddress()+:+dp.getPort(); System.out.println(strRecv); ds.close(); 【實(shí)驗(yàn)結(jié)果與分析】2. TCP編程(參考電子講義“網(wǎng)絡(luò)編程參考資料-傳輸層.pdf”及教材“第2章 Socket編程”)2.1閱讀 “網(wǎng)絡(luò)編程參考資料-傳輸層.pdf”中 11.3 部分,輸入11.3.3部分“簡單的TCP服務(wù)器程序”的源代碼(TcpServer.java)并在機(jī)器上編譯運(yùn)行,然后通過在命令行中輸入“telnet 自己的IP地址 8001”進(jìn)行測試。【程序源代碼】TcpServer.javaimport .*;import java.io.*;public class TcpServer public static void main(String args) try ServerSocket ss=new ServerSocket(8001); Socket s=ss.accept(); InputStream ips=s.getInputStream(); OutputStream ops=s.getOutputStream(); ops.write(Hello World!.getBytes(); BufferedReader br=new BufferedReader(new InputStreamReader(ips); System.out.println(br.readLine(); byte buf=new byte1024; int len = ips.read(buf); System.out.println(new String(buf,0,len); ips.close(); ops.close(); s.close(); ss.close(); catch(Exception e)e.printStackTrace(); 【實(shí)驗(yàn)結(jié)果與分析】2.2閱讀 “網(wǎng)絡(luò)編程參考資料-傳輸層.pdf”中 11.3 部分,輸入11.3.4 部分“TCP服務(wù)器程序”(Tcp_Server.java)以及11.3.5客戶端程序的源代碼(Tcp_Client.java)并在機(jī)器上編譯運(yùn)行,客戶端測試命令為“java Tcp_Client 自己的IP地址 8001”?!境绦蛟创a】Tcp_Server.javaimport .*;import java.io.*;class Servicer implements Runnable Socket s; public Servicer(Socket s) this.s=s; public void run() try InputStream ips=s.getInputStream(); OutputStream ops=s.getOutputStream(); BufferedReader br=new BufferedReader(new InputStreamReader(ips); DataOutputStream dos=new DataOutputStream(ops); while(true) String strWord = br.readLine(); System.out.println(strWord+:+strWord.length(); if(strWord.equalsIgnoreCase(quit) break; String strEcho=(new StringBuffer(strWord).reverse().toString(); /dos.writeBytes(strWord+-+strEcho+rn); dos.writeBytes(strWord+-+strEcho+System.getProperty(line.separator); br.close(); dos.close(); s.close(); catch(Exception e)e.printStackTrace(); class Tcp_Server public static void main(String args) try ServerSocket ss=new ServerSocket(8001); while(true) Socket s=ss.accept(); new Thread(new Servicer(s).start(); /ss.close(); catch(Exception e)e.printStackTrace(); Tcp_Client.javaimport .*;import java.io.*;public class Tcp_Client public static void main(String args) try /Socket s=new Socket(InetAddress.getByName(1),8001); if (args.length2) System.out.println(Usage:java Tcp_Client ServerIP ServerPort); return; Socket s=new Socket(InetAddress.getByName(args0),Integer.parseInt(args1); InputStream ips=s.getInputStream(); OutputStream ops=s.getOutputStream(); BufferedReader brKey=new BufferedReader(new InputStreamReader(System.in); DataOutputStream dos=new DataOutputStream(ops); BufferedReader brNet=new BufferedReader(new InputStreamReader(ips); while(true) String strWord=brKey.readLine(); dos.writeBytes(strWord+System.getProperty(line.separator); if (strWord.equalsIgnoreCase(quit) break; else System.out.println(brNet.readLine(); dos.close(); brNet.close(); brKey.close(); s.close(); catch(Exception e)e.printStackTrace(); 【實(shí)驗(yàn)結(jié)果與分析】3. Ethereal抓包分析用Ethereal軟件截獲上面三個(gè)程序運(yùn)行時(shí)客戶機(jī)和服務(wù)器之間發(fā)送的數(shù)據(jù)包,并且根據(jù)截獲的數(shù)據(jù)包內(nèi)容進(jìn)行分析。【實(shí)驗(yàn)結(jié)果與分析】host 7 and udpUdpSend數(shù)據(jù)包下面表格的值取自UdpSend數(shù)據(jù)包:長度16位16位16位16位字段Source portDestination portLengthChecksum值49183000260x37cahost 7 and tcp port 8001TcpServer數(shù)據(jù)包結(jié)構(gòu)下面的表格的值取自圖中選中的數(shù)據(jù)包:前32位長度16位16位字段Source port Destination port值80014221第2、3個(gè)32位:長度32位3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Z=82附近原子核形狀共存研究
- 面向數(shù)據(jù)與設(shè)備異構(gòu)的聯(lián)邦學(xué)習(xí)優(yōu)化方法研究與應(yīng)用
- 精神疾病健康指導(dǎo)
- 精油開背培訓(xùn)
- 超聲科科室簡介
- 關(guān)注心理健康 創(chuàng)造和諧班級
- 預(yù)防食源性疾病課件
- 順豐快遞教學(xué)課件
- 幼兒園教師教育教學(xué)能力提升培訓(xùn)
- 音樂說課教育課件
- 北京市海淀區(qū)2025屆高一下生物期末檢測模擬試題含解析
- JT∕T 795-2023 事故汽車修復(fù)技術(shù)規(guī)范
- 2024四川廣元市檢察機(jī)關(guān)招聘聘用制書記員22人筆試備考題庫及答案解析
- 內(nèi)科患者VTE風(fēng)險(xiǎn)評估表
- 一年級上冊美術(shù)教案-第1課 讓大家認(rèn)識我:誠實(shí)最好 ▏人美版
- 科學(xué)認(rèn)識天氣智慧樹知到期末考試答案2024年
- (高清版)DZT 0064.15-2021 地下水質(zhì)分析方法 第15部分:總硬度的測定 乙二胺四乙酸二鈉滴定法
- 心理體檢收費(fèi)目錄
- 雅魯藏布江米林-加查段沿線暴雨泥石流危險(xiǎn)度評價(jià)的中期報(bào)告
- 抗生素的正確使用與合理配比
- 讀書分享讀書交流會《局外人》課件
評論
0/150
提交評論