《《計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)》實(shí)驗(yàn)報(bào)告-軟-...(總7頁)》由會(huì)員分享,可在線閱讀,更多相關(guān)《《計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)》實(shí)驗(yàn)報(bào)告-軟-...(總7頁)(7頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、浙江大學(xué)城市學(xué)院實(shí)驗(yàn)報(bào)告課程名稱 計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn) 實(shí)驗(yàn)項(xiàng)目名稱 實(shí)驗(yàn)六 傳輸層網(wǎng)絡(luò)編程 學(xué)生姓名 沈小明 專業(yè)班級 計(jì)算0904 學(xué)號 30901228 實(shí)驗(yàn)成績 指導(dǎo)老師(簽名 ) 日期 2011-12-13 一. 實(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章 Soc
2、ket編程”)1.1閱讀 “網(wǎng)絡(luò)編程參考資料-傳輸層.pdf”中 11.2部分,輸入11.2.4部分“最簡單的UDP程序”的源代碼(UdpSend.java和UdpRecv.java)并在機(jī)器上編譯運(yùn)行通過(注意:要根據(jù)自己的機(jī)器IP地址修改源代碼)?!境绦蛟创a】import .*;public class UdpSend public static void main(String args)throws ExceptionDatagramSocket ds=new DatagramSocket();String str="hello word"DatagramPack
3、et dp =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 =ne
4、w 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();Thread.sleep(5000);【實(shí)驗(yàn)結(jié)果與分析】2. TCP編程(參考電子講義“網(wǎng)絡(luò)編程參考資料-傳輸層.pdf”及教材“第2章 Socket編程”)2.1閱讀 “
5、網(wǎng)絡(luò)編程參考資料-傳輸層.pdf”中 11.3 部分,輸入11.3.3部分“簡單的TCP服務(wù)器程序”的源代碼(TcpServer.java)并在機(jī)器上編譯運(yùn)行,然后通過在命令行中輸入“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.getInputS
6、tream();OutputStream ops=s.getOutputStream();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();【實(shí)驗(yàn)結(jié)果與分析】2.2閱讀 “網(wǎng)絡(luò)編程參考資料-傳輸層
7、.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】import .*;import java.io.*;class Servicer implements Runnable Socket s;public Servicer(Socket s)this.s=s;public void run()tryInputStream ips = s.getInputStre
8、am();OutputStream ops = s.getOutputStream();BufferedReader 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().to
9、String();dos.writeBytes(strWord+"->"+strEcho+System.getProperty("line.separator");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()
10、;new Thread(new Servicer(s).start();catch(Exception e)e.printStackTrace();import .*;import java.io.*;public class TcpClient public static void main(String args)tryif(args.length<2)System.out.println("Usage:java TcpClient ServerIP ServerPort");return;Socket s=new Socket(InetAddress.getBy
11、Name(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);whi
12、le(true)String strWord=brKey.readLine();dos.writeBytes(strWord+System.getProperty("line.separator");if(strWord.equalsIgnoreCase("quit")break;elseSystem.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é)果與分析】SendReceiveTcp三. 討論、心得本次實(shí)驗(yàn)通過實(shí)現(xiàn)使用Java Socket進(jìn)行通信的UDP客戶端和服務(wù)器和TCP客戶端和服務(wù)器來獲得關(guān)于使用Java Socket網(wǎng)絡(luò)編程的經(jīng)驗(yàn);