ImageVerifierCode 换一换
格式:DOCX , 页数:6 ,大小:77.43KB ,
资源ID:343134      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/343134.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(通信软件实验报告基于UDP文件传输程序设计与实现.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

通信软件实验报告基于UDP文件传输程序设计与实现.docx

1、基于UDP的文件传输程序设计与实现(服务端)一、 程序设计思路1. UDP(User Datagram Protocol,用户数据报协议)简介UDP为无连接的通信协议,其主要目的在于处理传输少量的数据。与TCP不同的是,UDP在传输数据之前不需要建立通信链接。仅须设置计算机间的IP及使用相同的端口,即可互相传输信息,因此UDP只提供单向的数据传输,如图1.1所示:单向无连接传输模式接收发送主机主机 图1.1 UDP通信协议 由于UDP不须先建立连接,这样节省了TCP建立连接所需的时间,因此适合于在主机间做单向的数据传输。但UDP不提供数据错误的侦测以及数据重送等功能,因此并不确保数据能完整发送

2、。2. java实现UDP程序思路UDP程序使用数据报的形式出现,需要使用以下两个类。l 数据报的内容:DatagramPacket。l 发送和接收数据报:DatagramSocket。在开发TCP程序的时候,是先有服务端,之后再进行客户端的开发。而UDP要运行的时候,则应该先运行客户端,之后再运行服务端。在运行UDP程序的时候先运行客户端,阻塞等待服务端发过来的信息,服务端开启后,向目标端发送信息之后便关闭了服务端,并不阻塞等待客户端的响应。二、实现关键技术点1.服务端界面布局服务端界面使用的是边框布局管理器,边框布局管理器是每个JFrame的内容窗格的默认布局管理器。流布局管理器完全控制每

3、个组件的放置位置,边框布局管理器则不然,它允许为每个组件选择一个放置位置。可以选择把组件放在内容窗格的中部、北部、南部、东部或者西部。一般来讲是先放置边缘组件,剩余的可用空间由中间组件占据。当容器缩放时,边缘组件的尺寸不会改变,而中部组件的大小会发生变化。在添加组件时可以指定BorderLayout类中的CENTER、NORTH、SOUTH、EAST和WEST常量。图2.1给出了服务器的界面布局: 图2.1 UDP文件传输系统界面布局2. 文件选择器Swing中提供了JFileChooser类,它可以显示一个文件对话框,其外观与本地应用程序中使用的文件的对话框基本一样。JFileChooser

4、是一个模式对话框。接收文件的按钮被自动地标签为Open或者Save。图2.2为文件选择器运行在UDP程序上的截图。 图2.2 文件选择对话框3. 发送类Sender的设计发送文件时首先要知道目标主机的名称,所以Sender类应该包含目标主机属性,来实现目标主机的动态设定。还必须包含目标主机的端口。在方法上需要一个判断文件是否传输的函数,如果传输成功,则必须向系统返回值,以告知系统返回成功。以下为Sender类的设计。publicclass UDPSend private DatagramSocket socket;private DatagramPacket pack;private Stri

5、ng host;/目标主机privateintport;/目标主机的端口public UDPSend(DatagramSocket socket,String host,intport)this.socket = socket;this.host = host;this.port = port;publicboolean sendFile(Path path) throws IOExceptionbooleanflag = false;byte bytes = Files.readAllBytes(path);String content = new String(bytes);pack =

6、new DatagramPacket(content.getBytes(),content.length(),InetAddress.getByName(host),port);socket.send(pack);flag = true;returnflag;4. 客户端的简单设计对UDP程序是否传输成功文件需要设计一个简单的客户端来接收服务端的文件信息。这个客户端不包含对接收信息的处理,显示的结果仅仅是传输文件里面的内容信息,并没有形成新的文件。三、运行结果截图1.先运行客户端程序2.运行服务端程序3.填入发送所需要的信息并选择文件传送。4.发送结果。5.接收结果四、 小组成员分工分工一:负

7、责界面设计。分工二:负责服务端和测试客户端的程序设计。五、 设计难点及解决问题的收获设计难点:1.在设计程序界面时使用的是java的Layout布局管理器,对组件的位置、大 小、字体的颜色等设计不灵活。2.在使用文本框获取所需的数字信息时,数据类型的转换出现了困难。3.在选取所需传输的文件时,帅选文件夹里的子文件。4.在获取文件路径时,经常获取的路径格式不正确。5.传输文件时文件编码的问题可能导致接收的文件乱码。收获: 在解决问题的同时提高了自身的编程能力,并学到了以前没接触过的java程序设计问题,并对UDP协议有着更深一步的理解。在解决过程中,提高了独立解决问题的能力,并感受到了团队合作的魅力。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1