《《計算機(jī)網(wǎng)絡(luò)實驗》實驗報告軟(共7頁)》由會員分享,可在線閱讀,更多相關(guān)《《計算機(jī)網(wǎng)絡(luò)實驗》實驗報告軟(共7頁)(7頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、精選優(yōu)質(zhì)文檔-傾情為你奉上浙江大學(xué)城市學(xué)院實驗報告課程名稱 計算機(jī)網(wǎng)絡(luò)實驗 實驗項目名稱 實驗六 傳輸層網(wǎng)絡(luò)編程 學(xué)生姓名 沈小明 專業(yè)班級 計算0904 學(xué)號 實驗成績 指導(dǎo)老師(簽名 ) 日期 2011-12-13 一. 實驗?zāi)康暮鸵?. 通過實現(xiàn)使用Java Socket進(jìn)行通信的UDP客戶端和服務(wù)器來獲得關(guān)于使用Java Socket網(wǎng)絡(luò)編程的經(jīng)驗;2. 通過實現(xiàn)使用Java Socket進(jìn)行通信的TCP客戶端和服務(wù)器來獲得關(guān)于使用Java Socket網(wǎng)絡(luò)編程的經(jīng)驗。二. 實驗內(nèi)容、原理及實驗結(jié)果與分析1. UDP編程(參考電子講義“網(wǎng)絡(luò)編程參考資料-傳輸層.pdf”及教材“第2章
2、 Socket編程”)1.1閱讀 “網(wǎng)絡(luò)編程參考資料-傳輸層.pdf”中 11.2部分,輸入11.2.4部分“最簡單的UDP程序”的源代碼(UdpSend.java和UdpRecv.java)并在機(jī)器上編譯運行通過(注意:要根據(jù)自己的機(jī)器IP地址修改源代碼)?!境绦蛟创a】import .*;public class UdpSend public static void main(String args)throws ExceptionDatagramSocket ds=new DatagramSocket();String str=hello word;DatagramPacket dp =
3、new DatagramPacket(str.getBytes(),str.length(),InetAddress.getByName(10.66.25.172),3000);ds.send(dp);ds.close();import .*;public class UdpRecv public static void main(String args)throws ExceptionDatagramSocket ds=new DatagramSocket(3000);byte buf=new byte1024;DatagramPacket dp =new DatagramPacket(bu
4、f,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();Thread.sleep(5000);【實驗結(jié)果與分析】2. TCP編程(參考電子講義“網(wǎng)絡(luò)編程參考資料-傳輸層.pdf”及教材“第2章 Socket編程”)2.1閱讀 “網(wǎng)絡(luò)編程參考資料-傳輸層.pdf”中 11.3 部分,輸入11.3.3部分“簡單的TC
5、P服務(wù)器程序”的源代碼(TcpServer.java)并在機(jī)器上編譯運行,然后通過在命令行中輸入“telnet 自己的IP地址 8001”進(jìn)行測試?!境绦蛟创a】import .*;import java.io.*;public class TcpServer public static void main(String args)tryServerSocket ss=new ServerSocket(8001);Socket s=ss.accept();InputStream ips=s.getInputStream();OutputStream ops=s.getOutputStream(
6、);ops.write(welcome to www.it315.org!.getBytes();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();【實驗結(jié)果與分析】2.2閱讀 “網(wǎng)絡(luò)編程參考資料-傳輸層.pdf”中 11.3 部分,輸入11.3.4 部分“TCP服務(wù)器程序”(Tcp_Server.java)以及
7、11.3.5客戶端程序的源代碼(Tcp_Client.java)并在機(jī)器上編譯運行,客戶端測試命令為“java Tcp_Client 自己的IP地址 8001”?!境绦蛟创a】import .*;import java.io.*;class Servicer implements Runnable Socket s;public Servicer(Socket s)this.s=s;public void run()tryInputStream ips = s.getInputStream();OutputStream ops = s.getOutputStream();BufferedRea
8、der br=new BufferedReader(new InputStreamReader(ips);DataOutputStream dos=new DataOutputStream(ops);while(true)String strWord=br.readLine();if(strWord.equalsIgnoreCase(quit)break;String strEcho=(new StringBuffer(strWord).reverse().toString();dos.writeBytes(strWord+-+strEcho+System.getProperty(line.s
9、eparator);br.close();dos.close();s.close();catch(Exception e)e.printStackTrace();class TcpServerpublic static void main(String args)tryServerSocket ss=new ServerSocket(8001);while(true)Socket s=ss.accept();new Thread(new Servicer(s).start();catch(Exception e)e.printStackTrace();import .*;import java
10、.io.*;public class TcpClient public static void main(String args)tryif(args.length2)System.out.println(Usage:java TcpClient ServerIP ServerPort);return;Socket s=new Socket(InetAddress.getByName(args0),Integer.parseInt(args1);InputStream ips=s.getInputStream();OutputStream ops=s.getOutputStream();Buf
11、feredReader 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.eq
12、ualsIgnoreCase(quit)break;elseSystem.out.println(brNet.readLine();dos.close();brNet.close();brKey.close();s.close();catch(Exception e)e.printStackTrace();【實驗結(jié)果與分析】3. Ethereal抓包分析用Ethereal軟件截獲上面三個程序運行時客戶機(jī)和服務(wù)器之間發(fā)送的數(shù)據(jù)包,并且根據(jù)截獲的數(shù)據(jù)包內(nèi)容進(jìn)行分析?!緦嶒灲Y(jié)果與分析】SendReceiveTcp三. 討論、心得本次實驗通過實現(xiàn)使用Java Socket進(jìn)行通信的UDP客戶端和服務(wù)器和TCP客戶端和服務(wù)器來獲得關(guān)于使用Java Socket網(wǎng)絡(luò)編程的經(jīng)驗;專心-專注-專業(yè)