1 / 8
文档名称:

UDP协议实现二进制文件传输(java).doc

格式:doc   大小:181KB   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

UDP协议实现二进制文件传输(java).doc

上传人:cjc201601 2020/5/26 文件大小:181 KB

下载得到文件列表

UDP协议实现二进制文件传输(java).doc

文档介绍

文档介绍:,中文名是用户数据包协议,是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETFRFC768是UDP的正式规范。,先在服务器端设定监听端口号(3666),在接收客户端发来的请求之前一直处于阻塞状态;在客户端则从本地读取二进制文件并封装成数据报,并发送到相应的服务器端(ip:,端口:3666);当服务器端接收到客户端发来的请求后,则对数据进行处理,即读取并保存数据,然后返回操作后的信息到客户端;当客户端接收到服务器端的信息后,则输出服务器端返回的信息,到此时就完成了客户端的请求和服务器端的应答;最后关闭DatagramSocket。()接收到来自客户端的数据writeFile()Socket()readFile()sendTo()Receive()sendTo()客户端服务器端YN显示返回的信息Close()Socket(){ DatagramSocketds=null; DatagramPacketdp=null; Filefile=null; ***@Override publicvoidrun(){ //TODOAuto-generatedmethodstub try{ //设置端口为3666 ds=newDatagramSocket(3666); while(true){ byte[]buf=newbyte[1024*64]; //用于接收长度为1024的数据包 dp=newDatagramPacket(buf,); //从此套接字接收数据报包,此方法在接收到数据之前处于阻塞状态 (dp); //保存接收文件,文件名取系统当前时间 longtemp=(); (dp,temp+""); //为使反馈过程效果明显,线程休眠2秒后发送回复信息 (2000); Stringmessage="serverhasreceivedit."; DatagramPacketpacket=newDatagramPacket((), (),(),6666); //发送回复数据包 (packet); } }catch(Exceptione){ (); } } /** *保存接收到的文件 * ****@paramdp ****@paramfilePath保存文件所在的路径 ****@throwsIOException */ privatevoidsaveFile(DatagramPacketdp,StringfilePath) throwsIOException{ FileOutputStreamfileOutputStream=newFileOutputStream(newFile( filePath)); fileOut