网络文件传输设计报告.docVIP

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

合肥学院

计算机科学与技术系

课程设计报告

2011,2012学年第一学期

课程Java语言程序设计

课程设计名称网络文件传输系统

专业班级08网络工程(1)班

姓名王阳光

指导教师金莹、郭昌建

2011年9月

1、需求分析

根据用户需求,本系统可以分为两个子系统:1、局域网内简单文字的聊天子系统,它是在局域网内选择相应的用户,以便对之发送文字信息;2、局域网内文件、文件夹传输系统,它是在源主机端先把需要传输的文件、文件夹转换成相应的数据流进行传输,到了目的主机端再由之进行还原。本系统的文字聊天系统实现的功能类似于,,用户之间的聊天。在设计系统时,应根据简洁、流畅的特点安排布局,在编制程序时应充分考虑到网络传输的稳定、快捷,真正做到“简洁、高效、流畅、安全”的使用环境。用户使用的过程为:先是用户登录启动本系统,系统自动检索局域网内的其它用户,并添加到自己的用户列表中,供用户选择。当用户需要连接到某个用户时,在用户列表中选中该用户,即可发送消息或者文件、文件夹。接收方可以选择接收或者拒绝接受相应传输的文件或者文件夹。当用户退出本系统前,系统将通知局域网内的其它用户,其它用户在收到用户下线通知后,将会自动删除用户列表中该用户的信息。

二、设计

1(设计思想

1)局域网用户列表的建立。用户主机启动本系统时,使用UDP协议向这个多播地址发送多播数据包,默认端口是3608。多播数据包内容包含用户名、主机名、IP地址、登录名、优先级的用户信息;已启动本系统的用户通过3608端口收到此多播数据包后,就会在自己的用户列表中添加这个用户的用户名、IP地址等信息,同时向对方IP发送本机用户的个人信息;从而双方都能建立起用户列表;

2)刷新用户列表时发送的多播数据包和启动的一样,只是在发送数据包前,将本机的用户列表清空,重新建立新的用户列表。

3)传送聊天信息时同样使用UDP协议。由于UDP协议是无连接协议,传输速度快,但是没有确认机制,是不可靠的协议,需要自己定义返回信息的标志来判断对方是否收到信息。

4)用户离线时发送一个离线多播数据包到,收到此多播包的用户,根据包中的IP地址删除对方的用户列表信息。

5)传送文件和文件夹是使用TCP协议,端口3608。TCP是一种面向连接的服务,在文件传输时会先行建立连接,通过链接提供双向、有序且无重复的数据流服务、以及流量控制、差错检测和纠错等服务,从而确保文件传输的正确性。

2(功能设计

在C/S体系结构下,设计局域网文件传送的网络传输软件。功能包括局域网文件传送和局域网简单文字聊天,可以同时对多个用户发送文件,以及传送文件功能不分目录与文件,均统一传送,让用户使用起来更方便。

1)C/S(Client/Server)结构,即客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理的分配到Client端和Server端来实现,降低了系统的通讯开销。Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接受Client程序提出的服务请求,进行相应的处理,再将结果返回给Client程序。

图2.1C/S结构

2)Java的网络编程

Java程序通过.Socket和.ServerSocket在两台主机之间建立I/O数据连接流,文件以字节流的形式从一台主机传送到另一台主机。

在TCP/IP参考模型中,应用程序处在应用层,应用层下面分别是传输层、网络互连层、主机-网络层。传输层的功能是使源主机和目标主机上的进程可以进行对话。在传输层定义了两种服务质量不同的协议,即TCP(TransmissionControlProtocol,传输控制协议)和UDP(UserDatagramProtocol,用户数据包协议)。TCP协议是一种面向连接的、可靠的协议,主要适用于需要保证数据准确性的场合。UDP协议是一个不可靠的、无连接协议,主要适用于不需要对报文进行排序和流量控制的场合。.Socket与.ServerSocket建立在TCP协议的基础上,可靠性好,可用来传送文件。.DatagramSocket与.DatagramPacket是建立在UDP协议的基础上,可用来在局域网中广播本地主机的IP地址。

3)Java的多线程

Java程序通过java.lang.Thread和java.lang.Runnable来实现程序的多线程。Java虚拟机允许应用程序并发地运行多个执行线程。服务器端创建多个服务线程,便可以同时接受多个来自客户端的请求,并给予回应。从而实现同时向多个用

文档评论(0)

185****7649 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档