欢迎来到天天文库
浏览记录
ID:6031806
大小:133.00 KB
页数:10页
时间:2017-12-31
《java udp通信实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2012-2013学年第一学期《网络编程技术》实验报告实验名称(课内课外实验5)姓名_汪何媛___学号__100341324____实验日期2012年12月10日实验报告日期2012年12月17日成绩___________________一.实验目的1、理解并掌握数据报通信的原理2、熟练掌握利用Java语言实现C/S下的UDP通信二.实验环境1.Myeclipse10.0三.实验实际完成内容及结果分析1.请请编辑并调试下面的程序,给出程序的运行过程、结果和各个类文件的功能说明。1.CudpSocket类packageudp;i
2、mportjava.io.IOException;importjava.net.DatagramPacket;importjava.net.DatagramSocket;importjava.net.SocketException;publicclassCudpSocket{DatagramPacketdp=null;//建一个新数据报包DatagramSocketdgsocket=null;//建一个数据报包的套接字publicCudpSocket(){try{byte[]buf=newbyte[1000];//构造一个新分
3、配的Byte对象,表示指定的byte值dgsocket=newDatagramSocket(12345);//创建数据报套接字并将其绑定到本地主机上的指定端口12345dp=newDatagramPacket(buf,buf.length);//构造DatagramPacket,用来接收长度为length的数据包}catch(SocketExceptione){e.printStackTrace();}}publicstaticvoidmain(String[]args){System.out.println("enterth
4、eserver");CudpSocketcss=newCudpSocket();try{css.dgsocket.receive(css.dp);//从css.dp套接字接收数据报包bytedata[]=css.dp.getData();//为css.dp包设置数据缓冲区System.out.println("datac.length:"+data.length);for(inti=0;i5、]);}NetFileWnfw=newNetFileW("D:/JAVA/MyEclipse6.0/happy.txt");nfw.write(css.dp.getData());}catch(IOExceptione){e.printStackTrace();}}}2.NetFileR类packageudp;importjava.io.DataInputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;publi6、cclassNetFileR{privateStringfilePath;publicNetFileR(StringfilePath){this.filePath=filePath;}publicbyte[]getData()throwsIOException{//通过将给定路径名字符串转换成抽象路径名来创建一个新File实例Filefile=newFile(filePath);FileInputStreamfilein=newFileInputStream(file);//创建一个FileInputStream流DataIn7、putStreamin=newDataInputStream(filein);//创建一个DataInputStreambytedata[]=newbyte[1024];//构造一个新分配的Byte对象,表示指定的byte值in.read(data);returndata;}publicStringgetFilePath(){returnfilePath;}publicvoidsetFilePath(StringfilePath){this.filePath=filePath;}}3.SudpSocket类packageudp8、;importjava.io.IOException;importjava.net.DatagramPacket;importjava.net.DatagramSocket;importjava.net.Inet4Address;importjava.net.SocketEx
5、]);}NetFileWnfw=newNetFileW("D:/JAVA/MyEclipse6.0/happy.txt");nfw.write(css.dp.getData());}catch(IOExceptione){e.printStackTrace();}}}2.NetFileR类packageudp;importjava.io.DataInputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;publi
6、cclassNetFileR{privateStringfilePath;publicNetFileR(StringfilePath){this.filePath=filePath;}publicbyte[]getData()throwsIOException{//通过将给定路径名字符串转换成抽象路径名来创建一个新File实例Filefile=newFile(filePath);FileInputStreamfilein=newFileInputStream(file);//创建一个FileInputStream流DataIn
7、putStreamin=newDataInputStream(filein);//创建一个DataInputStreambytedata[]=newbyte[1024];//构造一个新分配的Byte对象,表示指定的byte值in.read(data);returndata;}publicStringgetFilePath(){returnfilePath;}publicvoidsetFilePath(StringfilePath){this.filePath=filePath;}}3.SudpSocket类packageudp
8、;importjava.io.IOException;importjava.net.DatagramPacket;importjava.net.DatagramSocket;importjava.net.Inet4Address;importjava.net.SocketEx
此文档下载收益归作者所有