《基于socket的文件传输系统的设计与开发.docx》由会员分享,可在线阅读,更多相关《基于socket的文件传输系统的设计与开发.docx(47页珍藏版)》请在第一文库网上搜索。
1、密级公开学 号 20074040xxxxXX学院毕业论文(设计)论文作者指导教师所属学院专业本科专科年级于socket的局域网文件传输系统XXXXXX数学与计算机学院计算机科学与技术本科2007 级论文提交日期2011年5月20日论文答辩日期2011年5月28日毕业论文(设计)学术承诺本人郑重承诺:所呈交的毕业论文是本人在导师指导下进行的研究工作及取得的研究成果.除了文中特别加以标注和致谢的地方外,论文中不存在抄袭情况,论文中不包含其他人已经发表的研究成果,也不包含他人或其他教学机构取得的研究成果.作者签名: H期:毕业论文(设计)使用授权的说明本人了解并遵守衡水学院有关保留、使用毕业论文的规
2、定。即:学校有权保留或向有关部门送交毕业论文的原件或复印件,允许论文被查阅和借阅;学校可以公开论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文及相关资料。作者签名: 指导教师签名: 日 期:H 期:客户反馈及时反馈就好啦就很烦了基于socket的局域网文件传输系统摘 要:文件传输是通过一条网络连接从远地站点向本地主机复制文件。当前internet上有着各种文件传输文件,例如QQ等。但大多数是需要远地服务器控制的。因此对于一些仅需在局域网内部完成的传输工作存在着风险和资源浪费。基于socket的局域网文件传输系统是用java语言在myecI ipse for spr ing 8.
3、6环境下开发完成的一种适用于局域网的内部文件传输系统。它具有聊天和文件传输两个功能,可满足校园网等小范围内的日常工作和学习。客户端双方及服务器在tcp协议基础上建立socket连接之后,客户端可以从服务器上获取其它登陆用户的用户名和ip地址等信息,在用户通讯前彼此的客户端还应该进行连接,它们之间的具体通讯过程是不需要通过服务器的点对点通讯。关键词:java;点对点;Socket连接解放东路课时费老师打款回复了Title : The Design and Implementation of File Transfer System Basedon LANAbstract: File transf
4、er copy files from the remote site to the local host through a networkconnection. The Internet has various file transfer documents, such as QQ, etc. But mostremote server control is required. So for some internal completed only in the local areanetwork transmission there is a risk and waste of resou
5、rces. Based on the LAN socket withfile transfer system is in myeclipse for Java language are completed under the environment of8.6 development which is suitable for LAN internal documents transmitting system. It has achat and file transfer two functions, can meet the campus network and other small r
6、ange ofdaily work and study. The client and server in both parties based on TCP protocol after socketconnection from the server, the client can obtain other landing users user name and IP addressand other information, in user communication before each others client should also connects,the specific
7、communications between them is not to need to process through the serverspeer-to-peer communication.Keywords: Java; Peer-to-peer; Socket connection目录Abstract:II1绪论11.1 选题背景11.2 选题总乂11.3 前人的工作成果11.4 本文的主要工作22开发环境和相关技术简介32.1 MyEclipse 及 MyEclipsefor spring32.2 tcpip 协议简介42.3 基于Socket的java网络编程技术介绍42.3.
8、1 什么是 socket42.3.250 cket的运行机制图52.3.251 进行socket编程53设计方案介绍73.1 系统需求分析73.2 服务器、客户器功能介绍8321服务器功能介绍83.2.2客户端功能介绍94实现过程分析124.1 系统通讯过程流程图124.2 服务器、客户端通讯过程设计分析124.2.1 服务器端分析124.2.2 客户端分析155软件运行测试图185.1 服务器运行测试185.2 客户端运行测试18结语23 5致谢26附录2配置及安装说明27附录 2 源代码281绪论1.1 选题背景当今世界科学技术飞速发今天,借助于网络进行信息资源交流给人们带来了极大的方便。
9、各种文件传输系统都已被广大用户接受。比如QQ、UC. Internet邮件等互联网上的文件传输。甚至需要花费大量的金钱购买各种移动磁盘或者其他局域网内连接主机的硬件设备。而达到的效果却总是因为传输效率以及安全威胁而受到很大的限制。在这种形势下,开发一个功能简单而实用,能在Windows操作系统中运行,并且具有可移植性的局域网内文件传输工具势在必行。1.2 选题意义随着网络通信技术的发展与用户需求日益多样化,现代局域网络正处在变革与发展之中,本课题的主要目的之一是为了更清晰地培养学生掌握科学研究方法的能力和使学生迅速体会文件传输系统的研发过程。基于局域网的文件传输系统能够让家庭网络以及各个企业等
10、局域网对内部资料有一个快捷,准确,安全的共享。特别是对如今较大系统研发的模块分工合作得到了绝对保密性,从而使各项工作有计划、更科学的进行及顺利完成,使企业的办事效率得到显著提高。文件传输系统主要功能是自动获取局域网内用户的主机名,IP地址以及工作组名字,最终以C/S模式通过TCP/IP协议实现点到点文件传输功能。本系统既锻炼了我们的实际动手能力,使我们将大学四年所学的理论知识与实际开发相结合,又引导我们进行了一次模拟实际产品的开发,对于我们以后工作能力的培养具有重要的意义。1.3 前人的工作成果目前,国内外企业对局域网的文件传输系实践上都还不够完善。文件传输系统由于比较复杂,可变因素较多,安全
11、性低,因此发展还不成熟。但是随着科学技术的发展,各为中心的资源共享系统也即将进入高速发展期。在国内,随着企业资源管理的规范化和规模的不断扩大,企业的计算机资源管理将不仅仅停留在依靠硬件或者Internet网络获取,而且将会向着安全的内部网络化资源管理方式迈进。在此之前,人们已经在网络通信这个问题上做了许多的工作,开发了大量的文档、程序和应用软件,如Richard Stevens的Unix Network Programming介绍了在UNIX操作系统下通过Socket实现网络通信的基本原理及实现方式,Microsoft的WindowsSockets API提供了一种快速编程实现Socket网络
12、通信的机制。前人的这些工作无疑为我们提供了宝贵的经验和快速的开发方法以及现成的开发实例。然而,前人已有的工作成果已经无法完全满足我们的需求,即提供一种基于Socket的,易于使用具有高度可定制性的,面向中小企业内部通信需求的局域网通信软件。1.4 本文的主要工作论文主要针对公司或其他小范围内部局域网落设计出一种方便使用的、高性能的、并满足其基本通信需求的局域网文件传输系统(包含文件传输和聊天部分)。客户端与服务器端可以在多种硬件平台上运行,具有较好好的兼容性能。目前我们将通过在TCP/IP协议之上建立一个功能简单的文件传输系统(包含文件传输和聊天部分),日后程序功能将可以继续扩展,逐步发展成一
13、个功能比较完整的大型文件传输系统,例如加上文件续传功能,客户端连接发展成多对多连接,服务器增加为客户深一步服务(如发布一些消息)的功能等。2开发环境和相关技术简介2.1 MyEclipse 及 MyEclipse for springMyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称 MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts,
14、JSF, CSS, Javascript, SQL,Hibernate o在结构上,MyEclipse的特征可以被分为7类:1. J2EE模型2. WEB开发工具3. EJB开发工具4. 应用程序服务器的连接器5. J2EE项目部署服务6. 数据库服务7. MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。而myeclipse for spring是在myeclipse的基础上,加强了对spring的支持。MyEclipse for Spring是MyEclipse家族的成员之一,其最大的特点就是提 供了更强悍的针对Spring框架的支持。其实在MyEclipse中已经提供了针对Spring框架的一些支持,集成了 Spring IDE,但是这些对于那些针对Spring开发的开发者来说或许还不足够,他们需要的是更强大,更有针对性的开发工具。由于Spring的广泛使用以及Spring开发者的呼声高涨,MyEclipse for Spring随之出现。MyEclipse for S