logo资料库

ftp客户端软件的设计与实现.docx

第1页 / 共41页
第2页 / 共41页
第3页 / 共41页
第4页 / 共41页
第5页 / 共41页
第6页 / 共41页
第7页 / 共41页
第8页 / 共41页
资料共41页,剩余部分请下载后查看
第1章 绪论
1.1 课题背景
 第2章 开发工具及关键技术
2.2 关键技术
2.2.1 C/S架构简介
2.2.2 SOCKET网络编程
2.2.3 FTP协议简介
第3章 客户端文件传输系统设计
3.1客户端需求分析
3.1.1 用户需求
3.1.2 功能需求
3.1.3 性能需求
3.2客户端设计
3.2.1 客户端整体模块
3.2.2 客户端流程划分
3.3 ftpclient类
3.4实现思路
第4章 文件传输系统的实现
4.1 界面模块实现
4.2 登录界面实现
4.3 浏览程序
4.3.1浏览服务器端目录程序
4.4 文件的上传与下载
4.4.1文件下载程序
4.4.2文件上传程序
第5章 系统测试及问题处理
5.1测试环境
5.2 测试结果
5.2.1登录模块测试
5.2.2系统兼容性测试
5.3 测试总结
结 论
参考文献
致 谢
声 明
题 目:FTP 客户端软件的设计与实现 指导教师:XXX 职称:副教授 学生姓名: XXX 学号: 专业: 201XXXXXXXXX 计算机科学与技术 院(系): 信息工程学院 完成时间: 2014 年 5 月 9 日 2014 年 5 月 9 日
FTP 客户端设计与实现 摘 要 信息时代的到来,信息的交流变得越来越重要,而信息的交流离 不开文件的传输。基于 FTP 的文件传输系统意在搭建一个文件传输平 台,使其在安全、透明、快捷的环境下来进行文件传输。 网络上进行信息共享或文件传输,都是基于某种协议而进行的, FTP 是人们在网络中进行文件传输普遍采用的一种协议。系统使用流 行的 Java 作为开发语言,采用 C/S 模式作为网络结构,利用套接字 编程实现多线程传输。 论文首先对现在常用的 FTP 进行了分析,然后介绍了系统的需求 分析和设计过程,给出了服务器和客户端的功能模块及总体流程,最 后给出了网络文件传输系统服务器和客户端的编码实现,并对系统各 个功能的实现进行了测试,分析优缺点和总结。 通过测试,该系统实用、界面简单,能进行文件上传和下载并支 持多线程,是一个比较好的文件传输系统。 关键词:文件传输协议,TCP/IP,多线程,套接字 Design and implementation of an FTP client
Abstract The arrival of the information age, the exchange of information is becoming increasingly important, and the exchange of information can not be separated file transfer . FTP-based file transfer system is intended to set up a file transfer platform , so in a safe , transparent and efficient environment down the file transfer. Information sharing on a network or file transfer , are carried out based on a protocol , FTP is a protocol for file transfer people to be widely used in the network. The system uses the popular Java as a development language , using C / S mode as the network structure , the use of socket programming multithreaded transfers. Firstly, on the now commonly used FTP analyzed, and then introduced the system requirements analysis and design process , gives the server and client modules and the overall process . Finally, network file transfer server and client code implementation, and realization of various functions system has been tested , analyzed and summarized the advantages and disadvantages . Through testing, the system is practical , simple interface , files can be uploaded and downloaded and supports multi-threading , is a good file transfer system . Keywords : file transfer protocol , TCP / IP, multi-threaded, socket 目 录 第 1 章 绪论 .................................................................. 6
1.1 课题背景 ................................................................. 6 1.2 课题现状 ............................................................. 7 1.3 本文组织方式 ......................................................... 8 第 2 章 开发工具及关键技术 .................................................... 8 2.1 开发工具 ............................................................. 8 2.2 关键技术 ............................................................ 10 2.2.1 C/S 架构简介.......................................................................................................10 2.2.2 SOCKET 网络编程.................................................................................................11 2.2.3 FTP 协议简介.....................................................................................................11 第 3 章 客户端文件传输系统设计 ............................................... 13 3.1 客户端需求分析 ....................................................... 13 3.1.1 用户需求..............................................................................................................13 3.1.2 功能需求................................................................................................................13 3.1.3 性能需求................................................................................................................13 3.2 客户端设计 ........................................................... 14 3.2.1 客户端整体模块..................................................................................................14 3.2.2 客户端流程划分................................................................................................15 3.3 ftpclient 类 ........................................................ 16 3.4 实现思路 ............................................................. 17 第 4 章 文件传输系统的实现 ................................................... 18 4.1 界面模块实现 ........................................................ 18 4.2 登录界面实现 ........................................................ 18 4.3 浏览程序 ............................................................ 24 4.3.1 浏览服务器端目录程序.......................................................................................24 4.4 文件的上传与下载 .................................................... 27 4.4.1 文件下载程序.........................................................................................................27 4.4.2 文件上传程序.......................................................................................................27 第 5 章 系统测试及问题处理 ................................................... 35 5.1 测试环境 ............................................................. 35 5.2 测试结果 ............................................................ 36 5.2.1 登录模块测试.......................................................................................................36
5.2.2 系统兼容性测试.....................................................................................................36 5.3 测试总结 ............................................................ 36 结 论 ................................................................... 38 参考文献 .................................................................... 39 致 谢 ..................................................................... 40 声 明 .................................................................... 41
第 1 章 绪论 1.1 课题背景 随着 Internet 在全世界的普及和发展,越来越多的用户将自己的计算机连 入这个人类有史以来最庞大的网络中。其中 FTP(File Transfer Protocol)是 Internet 中最早提供的服务之一,目前仍在被人们广泛使用着。如果说 Internet 是如今的信息高速公路的话,FTP 文件传输系统就是其上面的洲际车,它使用 TCP/IP 体系结构中应用层上的 FTP 协议在不同的计算机系统之间互相传输文件。 人们通常将文件传输服务称为 FTP 服务。通过 FTP 服务,Internet 上的用户可 以从授权的异地计算机上获取所需的文件,也可以把本地文件传输到其他计算机 上,这就为计算机之间双向传输文件提供了一种有效的手段。FTP 凭借其透明、 快捷等特点,越来越多的人通过 FTP 能够在互联网上获得大量免费文件,FTP 协 议已经是 Internet 上应用最多的协议之一。 虽然 FTP 应用非常广泛,但在国内仍然缺乏高性能的产品。由于商业原因, 对国外 FTP 文件传输系统中的关键技术也知之甚少;同时国内对 FTP 系统的研究 也是相对较少的,这从学术刊物上发表的相关文章就可以看出。所以基于 FTP 的文件传输系统的研究是有一定意义的。在 FTP 的众多功能中,安全性是一个突 出且敏感的功能。绝大多数企业、部门在使用 FTP 的时候,都会考虑这个问题, 把它作为选购 FTP 文件传输系统产品的重要依据。目前市场上流行的 FTP 系统, 像 CuteFtp、FtpCommander、FlashFtp 等,都是国外的产品,虽然功能和性能等 方面都还不错,但毕竟是通用的软件,任何人都可以得到并对其进行研究,从而 可能给这些软件的安全性带来潜在的问题。从保证安全性的角度出发,很有必要 根据自身的需要开发一个自己的文件传输系统,这样就可以避免采用通用软件带 来的危险。另一方面,在实际使用国外产品的过程中,发现它们并不能很好的满 足用户的要求。比如说,访问日志功能,虽然绝大多数的国外产品都有,但是, 这些日志功能都是固定的,不能够根据用户的要求来灵活的生成,而这个功能又 是用户所必须的。因此研究并实现 FTP 文件传输系统不仅有助于深入了解各种 Innternet 协议的实现细节,掌握 FTP 的技术,而且可实现软件的国产化,满足 国内用户的安全性需求,对于社会和个人都有积极的意义。
本毕业设计将介绍 FTP 客户端系统的设计和开发工作,因此,文章将涵盖以 下四个方面的内容:1.基础技术知识介绍; 2.文件传输系统的详细需求;3.介绍 系统体的具实现;4.对最终系统进行测试。通过这次课题,对整个开发过程有深 入的了解,提高实践能力。FTP 将在未来的很长时间里作为主要的文件传输协议, 使用前景仍然宽广,功能会更加强大。 1.2 课题现状 互联网上传统的技术模式是 C/S 模式,FTP(File Transfer Protocol)文件 传输服务就是这种模式的典型代表。FTP 是 TCP/IP 协议组中的协议之一,该协 议是 Internet 文件传送的基础,它促进了文件的共享、鼓励间接或者隐式地使用 远程计算机、向用户屏蔽不同主机中各种文件存储系统的细节以及提供可靠和高 效的数据传输。在 TCP/IP 协议中,FTP 标准命令 TCP 端口号为 21,Port 方式数 据端口为 20。FTP 中主要采用了 TCP 传输控制协议(Transmission Control Protocol)和 Telnet 协议。 在网络普及的今天,政府机关、企业、学校等各行各业已经广泛地应用并建 立了自己的 FTP 文件传输系统,FTP 极大地提高了我们的工作效率和管理水平。 由于计算机网络的互联、互通的特性,为我们工作带来方便和效率。普通的 FTP 服务要求用户必须在要访问的计算机上有用户名和口令。而 Internet 上最受欢迎 的是称为匿名 FTP 的服务,用户在登录这些服务器时不用事先注册一个用户名 和口令,而是以“anonymous”或“FTP”为用户名,自己的电子邮件地址为口令即 可。匿名 FTP 是目前 Internet 上进行资源共享的主要途径之一。它的特点是访 问方便,操作简单,容易管理。Internet 上有许多的资源都是以 FTP 的形势提供 给大家使用的,包括各种文档、软件工具包等等。 FTP 虽然是一种已经成熟且应用广泛的的技术,但是其仍然存在需要改进的地方。 主要有下面几个方面: (1) 服务器和客户端的功能被明确划分,如何在服务器端负载压力很大的情况下 提高客户端的带宽资源的利用率。 (2) FTP 使用明文传输,如何使用多种加密手段保全系统及客户信息的安全。 (3) FTP 时延太高,如何保证文件传输速度的稳定。 (4) FTP 的开放性,如何保证共享资源的内容健康。
1.3 本文组织方式 本文从课题的的现状和背景入手,分析了 FTP 文件传输系统的现状和国内 外的研究背景。后续章节的主要内容安排如下:第二章开发工具及关键技术,主 要讲述了本次设计用到的编程语言 java 和开发平台 Jbuilder 2006,并对它们的 特点进行了说明;接着阐述了本次设计用到的关键技术 C/S 模式与 socket 网络 编程,最后对 FTP 协议进行了介绍。第三章文件传输系统设计主要讲述了 FTP 文件传输系统的设计,对系统进行需求分析,各个模块的流程划分、设计和架构, 并对用到的关键技术进行了说明。第四章文件传输系统的实现,对客户端和服务 器各个功能模块的编码实现进行说明并列出部分代码。第五章系统测试,对客户 端和服务器进行了测试,测试结果表明系统实现了设计的功能并达到预期的性能。 第 2 章 开发工具及关键技术 2.1 开发工具 2.1.1 开发语言 Java 是 Sun 公司推出的一种编程语言。Java 语言的设计集中于对象及其接 口,它提供了简单的类机制以及动态的接口模型,高度抽象,采用纯面向对象编 程的思想和方法。Java 还带有很多的扩展的类包(Package),在程序中可以轻 松调用,简化程序员的工作。Java 程序运行的硬件或软件环境,称为平台。Java 平台包括 2 个部分:Java 虚拟机和 Java 应用程序接口。Java API:Java 应用程 序接口,用于 Java 程序的使用和 Java 虚拟机的接口。Java 虚拟机用于将 Java 字节码翻译成特定机器码。基于硬件的平台,即 Java 程序运行的特定的硬件环 境。 Java 是一种简单的、面象对象的、分布式的、解释的、键壮的、安全的、结构 的、中立的、可移植的、性能很优异的、多线程的、动态的语言。Java 特点有 如下: 1、平台无关性 平台无关性是指 Java 能运行于不同的平台。Java 引进虚拟机原理,并运行于虚 拟机,实现不同平台的 Java 接口之间。使用 Java 编写的程序能在世界范围内共 享。Java 的数据类型与机器无关,Java 虚拟机(Java Virtual Machine)是建立
分享到:
收藏