FTP客户端软件的设计与实现
专用FTP客户端系统的设计与实现

( 27 0 2 0 牟第 年第 期
L B R T R S IN E A O A O Y CE C
2 7 月出 0 年4 0 版
专 用 F P客 端 T 户 系统 的设 计 与 实现
田胜 利
( 昌学 院计算 机科 学技 术 学 院 许
关键 词 : 三层 架构 ;r 局域 网教 学 F P; r
随着 I e e 的普及 , nm t t 信息的交互传输显得越来 越重要 。在 局域 网中 , 我们通 过共享 文件夹 , 利用 网 络邻居进行信息共享 、 。在广域网中, r e 传输 我 ̄ s 常 i 用 z P Fl Tas r r oa) r ( i r f o c1进行 网络上信息 的传 e neP t 输和管理 。笔者在教 学实践 中发现无论 是利 用 网络 邻居还是 F P r 进行信息传输和管理 , 在实际应用中 都 有不尽如 人意 的地 方 , 比如 : 学 生 的上 机课 上 , 在 老师会布置一 些 实验 作 业 , 些 实验 作业 同学们 往 这 往一次两次课做不完。因此, 同学们会把未做完 的 作业保存起来 , 下次接着做。等下次上课时 , 同学很 可 能不会再使用上 次保存文 件 的机 器 。即便使用 的 是 同一 台机器 , 也很 可 能会 发现 自己的作 业 已被 删 除。并且 有 的机房 为 了安全 管理 , 取 了一 些措 施 , 采 禁止使用软盘或使用硬盘保护卡 , 使得信息不能保 存在 软盘 或本地机 器上 。有 的机房还 有可能 使用 的 是无盘工作 站 , 也会 出现类 似 的 问题 。平 时老 师会 在教师机上 安装 F P软件并 为 同学们建 立公用 的用 r 户名 、 密码 , 求 同学们 把作业通过 F P上传 到教师 要 T r 机上。因为利用 F P T 上传的信息 , r 你自己上传 、 可能 需 要下载 、 更新 或删 除 , 而其他 同学 同样 有这些 操作 权限, 若老师 为每个 同学建 立一个 用户 名 、 密码 且赋 予不同的权限 , 以解决这一问题。但是这样做比 可 较 麻烦 ( 工作 量 较 大 ) 。有 时 任课 老 师 会 在 教师 机 上 为每个 同学建 立共享 文件夹设置 共享 密码并 告诉 该同学, 使之通过网上邻居进行信息传输 , 显然该方 法也 比较麻烦且存 在一些 其它 问题 。这样 的例子 很 多 , 就不一一枚举 。鉴 于以上 情况 , 过认 真思 这里 经 考, 笔者 找到 了一种 解 决上 述 问 题 的方 法 。那 就 是 做一个专 用 的 F P客户 端软 件 , 用户 可 以 自己管 T r 使 理 自己上 传 的信息并 设置操作 权限 。 1 目前流行 的 F P服务器 软件和客 户端软件 . T r 目前 F P T 服务器端的软件 比较多 , U i操作 r 象 n x 系统 下 的 WU ̄P I'D软 件 、 no s操 作 系 统 下 的 q Widw Sr u( 国生 产 ) ev— 美 的软件 、adn l D( 国台湾 R i F' 中 e P
嵌入式FTP服务器的设计与实现

嵌入式FTP服务器的设计与实现作者:郝玉锴来源:《现代电子技术》2013年第14期摘要: FTP服务是目前广泛应用的因特网应用服务之一,为了在国产嵌入式实时操作系统平台上开发FTP服务,采用多线程并发服务器的体系结构设计了一种嵌入式FTP服务器,实现了包括对RFC959标准定义的访问控制命令、传输参数命令和FTP服务命令在内的常用命令的处理和响应功能,并且对该嵌入式FTP服务器的功能和性能进行了测试。
测试结果表明功能正常,性能符合预期标准。
关键词:嵌入式系统;文件传输协议; FTP服务器;设计与实现中图分类号: TN911⁃34 文献标识码: A 文章编号: 1004⁃373X(2013)14⁃0055⁃03 Design and realization of embedded FTP serverHAO Yu⁃kai(Aeronautical Computing Technique Research Institute,Xi’an 710119, China)Abstract: FTP service is one of the widely used application services on Internet.Multi⁃threaded concurrent server architecture is adopted to design an embedded FTP server in order to develop FTP service on the domestic embedded real⁃time operating system platform. The processing and responding functions of the common commands such as access control commands,transmission parameter commands and FTP service commands defined for RFC959 were implemented. The test results of the embedded FTP server function and performance show that the function is normal, and the performance is satisfied to the expected standards.Keywords: embedded system; file transfer protocol; FTP server; design and ralizationFTP(文件传输协议)是一种用于从网络中一台主机向另外一台主机传输文件的协议,属于Internet上最早提供的应用服务之一,通常将文件传输服务称为FTP服务。
毕业设计论文-IPv6环境下FTP系统的设计与实现(含源程序代码)

毕业设计(论文)IPv6环境下FTP系统的设计与实现毕业设计(论文)中文摘要IPv6环境下FTP系统的设计与实现摘要IPv4是目前广泛使用的互联网IP技术,IPv6则是下一代的IP协议,注入了许多新的内容。
随着互联网技术的不断发展,IP协议将慢慢从IPv4过渡到IPv6。
文件传输协议是互联网上广泛使用的在远程计算机系统和本地计算机系统之间传输文件的标准。
因此,本次毕业设计研究在IPv6环境下FTP系统的设计与实现。
本设计首先阐述了IPv6的发展状况,然后介绍了IPv6协议在各流行操作系统下的安装与配置,最后按照RFC959-《标准文件传输协议》和RFC2428-《FTP对IPv6和NAT的扩展》的要求,采用支持IPv6 Socket编程的JDK5.0,实现了绝大部分的FTP传输命令,包括一个服务端与一个客户端程序,经测试,均可工作于IPv4与IPv6环境。
关键字:IPv6 FTP C/S JDK5.0毕业设计(论文)外文摘要The Design and Implement of FTP System Base on IPv6 EnvironmentAbstract: While IPv4 is widely used technique at present in the internet, IPv6 is the next generation Internet Protocol that brings many new contents. Along with the development of internet technique, transition from IPv4 to IPv6 is necessary though maybe slowly. File Transfer Protocol is widely used in internet and is the standard of transfer file between remote computer system and local computer system. Consequently, I investigate the design and implement of ftp system in IPv6 environment.This paper first expounds the development of IPv6,then introduces IPv6's installation and configuration on popular operation systems, finally according to RFC595-<FILE TRANSFER PROTOCOL> and RFC2428-<FTP Extensions for IPv6 and NATs>,with JDK5.0 which supports IPv6 socket programming, implements a majority of FTP commands. This design presents a server site and a client site, which can work on IPv4 and IPv6 environment.Keywords: IPv6;FTP;C/S;JDK5.0目录1 引言 (1)1.1 课题的研究背景与意义 (1)1.1.1 课题的研究背景 (1)1.1.2 课题的研究意义 (2)1.2 问题定义及内容简介 (2)1.2.1 问题定义 (2)1.2.2 问题的内容简介 (2)1.3 课题调研与可行性分析 (3)1.3.1 课题调研 (3)1.3.2 可行性分析 (3)1.4 论文各章内容介绍 (4)2 系统需求分析 (5)2.1 IPv6发展现状 (5)2.2 系统环境的搭建 (9)2.3 基于C/S模型的网络开发 (9)2.4 支持IPv6的Socket编程 (12)3 文件传输协议 (15)3.1 介绍 (15)3.2 概览 (15)3.3 FTP的传输模式 (16)3.4 FTP的工作方式 (16)3.5 文件传输功能 (17)3.6 说明 (21)4 FTP对IPv6和NAT的扩展 (24)4.1 介绍 (24)4.2 EPRT命令 (24)4.3 EPSV命令 (25)4.4 命令使用 (25)5 FTP服务器的实现 (27)5.1 总体设计 (27)5.2 详细设计 (27)5.2.1 主函数设计 (27)5.2.2 服务线程 (27)5.2.3 其他主要命令 (30)5.2.4 数据库设计 (33)5.2.5 界面设计 (33)5.3 服务器测试 (33)6 FTP客户端的实现 (37)6.1 方案的选择 (37)6.2 界面的设计 (37)6.3 几个重要的类 (38)6.4 实现步骤 (38)7 用户使用手册 (40)7.1 系统功能简介 (40)7.2 运行环境简介 (40)7.2.1 系统环境配置 (40)7.2.2 JDK环境变量配置 (42)7.2.3 SQL Server2000的有关配置 (42)8 系统评价 (44)8.1 系统特色/优点介绍 (44)8.2 系统存在的不足与改进方案 (44)8.2.1 系统存在的不足 (44)8.2.2 系统的改进方案 (44)结论 (45)致谢 (46)参考文献 (47)1 引言1.1 课题的研究背景与意义1.1.1 课题的研究背景现有的互联网主要是基于IPv4协议的。
FTP(文件传输协议)的原理与实现

FTP(文件传输协议)的原理与实现FTP,即文件传输协议(File Transfer Protocol),是一种用于在计算机网络中进行文件传输的应用层协议。
它允许用户通过客户端和服务器之间进行文件的上传、下载和删除等操作。
本文将介绍FTP的原理和实现。
一、FTP的原理FTP的原理基于客户端-服务器(client-server)模型。
客户端和服务器通过FTP协议进行通信,客户端发出命令请求,服务器进行相应的处理并返回结果。
FTP采用不同的连接来进行数据传输和命令传输。
1. 命令传输连接命令传输连接是客户端和服务器之间进行命令交互的通道。
客户端通过该连接发送各种FTP命令,如登录、目录操作、文件操作等。
服务器接收到命令后执行对应的操作,并返回结果给客户端。
该连接使用TCP协议的默认端口号21。
2. 数据传输连接数据传输连接用于在客户端和服务器之间传输文件内容。
FTP支持两种方式的数据传输:主动模式(Active Mode)和被动模式(Passive Mode)。
- 主动模式:客户端向服务器发起数据传输连接,在该连接上进行文件的传输。
客户端随机选择一个端口并通过PORT命令告知服务器。
服务器返回连接确认请求,然后在该连接上进行数据的传输。
主动模式需要客户端开放一个端口用于接收服务器的连接。
- 被动模式:服务器向客户端发起数据传输连接,在该连接上进行文件的传输。
客户端发送PASV命令给服务器,服务器在随机开放的端口上等待客户端的连接。
客户端接收到服务器的地址和端口信息后,通过该地址和端口和服务器进行数据传输。
被动模式通过服务器来建立数据传输连接,适用于客户端无法开放端口的情况(如在防火墙后)。
通过命令传输连接和数据传输连接的组合,客户端和服务器可以实现文件的上传、下载和删除等功能。
二、FTP的实现FTP的实现涉及到客户端和服务器端的开发。
下面分别介绍两者的实现要点。
1. 客户端实现客户端实现主要包括以下几个方面的工作:- 用户界面设计:客户端需要提供一个用户界面供用户输入FTP服务器地址、用户名和密码等信息,并显示服务器返回的文件列表及操作结果等信息。
基于MFC的FTP客户端的实现

基于MFC的FTP客户端的实现李俊丽【摘要】大部分浏览器客户端虽然具有使用方便的特点,但仅具有浏览文件和下载的功能,不具备文件上传和高级文件管理功能.针对这些问题,设计了一种基于MFC 的FTP客户端,提供了基本的浏览文件和上传下载功能,而且具有简单可视化易操作等特点.【期刊名称】《山西电子技术》【年(卷),期】2016(000)002【总页数】3页(P43-45)【关键词】FTP客户端;MFC;WinInet类库【作者】李俊丽【作者单位】晋中学院,山西晋中030619【正文语种】中文【中图分类】TP311连接FTP服务器的方式有很多种,包括命令行、浏览器和专门的图形界面程序,但是这些程序的本质都是FTP客户端。
命令行客户端资源占用小,但命令记忆工作复杂,只适合熟练的计算机用户。
绝大部分浏览器支持FTP客户端连接。
浏览器客户端具有使用方便的特点,但仅具有浏览文件和下载的功能,不具备文件上传和高级文件管理功能。
专门的图形界面客户端不但界面友好,而且具有比较全面的文件上传下载功能,有的软件还有一定的文件管理等高级功能。
现在市面上FTP客户端种类繁多,软件规模有大有小,授权方式有商业软件、开源软件多种。
国内FTP客户端软件主要以小型软件为主。
现今的FTP客户端更加注重安全性、提高传输速度和提高稳定性,提供更加友好的图形界面。
一个运行在Windows下的简易FTP客户端应当包含以下几个基本的部分:图形界面,本地文件/远程文件浏览部分,信息反馈部分,文件传输部分[1]。
具体的讲,该程序的功能设计如下:1) 登录注销模块,用于实现客户端与服务器的连接建立和连接断开,这是程序不可缺少的部分;2) 本地文件浏览模块,用于显示和列出本地计算机特定目录下的文件和文件夹,实现文件目录的显示、跳转,用于选定本机上的特定文件;3) 远程文件浏览模块,用于FTP服务器上的文件浏览操作,功能类似于本地文件浏览模块;4) 信息反馈模块,用于滚动显示交互信息;5) 文件传输模块,用于选定文件的上传下载,这是程序的重要部分;6) 图形界面优化设计和帮助提示部分,包括启动画面和帮助系统。
基于Serv-U的FTP设计与实现

第 3 期 1
S INC CE E&T C N O YI O MA I N E H OL G NF R T O
。l T论坛。
设计与实现 T
计 宏
( 安科技 大学 西
陕西
西安
70 5 1 0 4)
【 摘 要 】 述 了 F P和 Sr— 的 优 点 、 能和 工作 模 式 。 论 T e U v 功 阐述 了使 用 Sr— 建 立 F P服 务 和 访 问 F P站 点 的 方 法 和 步骤 , 出 了解 决 ev U T T 给 F TP服 务 安 全 问题 的措 施 。结 合 实际 案例 , 实现 了使 用 S r — 搭 建 F P站 点 的 功 能 , 用 户提 供 了安 全 高 效 的数 据 传 输 和 资 源 共 享 。 ev U T 为
号 ) 设 置 为 “ e ” A c u tl i a ( 录 名 ) 输 入 “s h o ak : Y s ; c o n o n n me 登 g : c oh s 的效 率 , 同时 ,网 上邻 居 ” “ 的性 能 不 稳 定 情 况 时有 发 生 , 出 现无 法 连 0 1 : a s od 密 码 ) w rh r 0 ; medrcoy 主 目 录 ) D f ; 常 0 ” P sw r ( : ok ad 0 1 Ho i t ( e r : At p 接 网络 计 算 机 , 法 正 常传 输 数 据 。使 用 F PSre 系统 使 上 面提 到 L c h sri eh m i co ( 用 户 锁 定 在 主 目录 中 )设 置 为 无 T e r r v o kteue t o edr t 将 nh e r y : 的 问题 迎 刃 而 解 “ e” A cu t d i r i g ( 号 管 理 权 限 ) Y s : con m np vl e 帐 a i e :设 置 为 默 认 值 “ No 11 F P 的 定 义 和 功 能 . T p vl e 。 Sr— i e r i g ” e U管 理 权 限 中 的 st hn epsw r ( 置 , 改 管理 v e/ ag as od 设 c 修 F P是 Fl rnfrPooo( 件 传 输 协 议 )通 过 Itre 使 网 T i Tase rtcl 文 e . nen t 员 密 码 ) 入 lv1ape 每 次 开 启 S r— 输 o e p l, y ev U需 输 入 该 密 码 。 了 提 高安 为 络 计 算 机 之 间 进行 安 全 有 效 地 数 据 传 输 。与 H1 P协 议 相 比 较 , P 全 性 . 密 码设 置 应 较 复 杂 。并 设 置 最 大上 传 速 率 、 大 下 载 速 率 、 T r 丌 该 最 连 协 议 则 复 杂 许 多 , 因 在 于 , TP协 议 要 用 到 两 个 T P连 接 , 原 fr C 一个 是 接 到 本 服 务器 的最 多 用 户 数 量 等 信 息 。 命 令 链 路 , 来 在 f PSre 与 盯 P Cin 之 间 传 递 命 令 ; 一 个 是 22 F P的管 理 用 T evr r l t e 另 . T 数 据链 路 , 来 上 传 或 下载 数 据 。 用 创 建 帐 户 sh o ak 0 、c ohsO 3到 sh ot k 5 ; 密 码 为 c ohs0 2 sh o ak 0 col s0 0 a 兀1 P的主 要 功 能 如 下 : P可 以 实现 多 种 格 式 、 种 类 型 、 多 多种 结 W rhr0 2 w rh d 0 od ad 0 、 od a 0 3到 w rhr0 0 r od ad 5 ;主 目 录 为 D f At 锁 定 于 p并 构 的 文 件 传 输 , 中 包 括 : 件 (i ) 记 录 ( eod , (ae ; 有 其 文 Fl , e R cr) 页 P g ) 具 主 目录 。 即 F P站点 共 设 置 了 5 T O个 帐 户 , 中用 户 sho ak 0 对 其 eoh s0 1 对 文 件 改 名 、 变 属 性 、 除 文件 、 示 内容 等 功 能 的 操作 ; 供 对 远 所 有 目录有 读 、 、 除 、 改 删 显 提 写 删 重命 名 等 最 高权 限 ; D: p下 建 立 子 目录 , 在 / i f 程 主 机 系 统 和本 地 计 算 机 系 统 的 目录安 全 操 作 功 能 ; 有 匿名 F P登 名 称 分 别 为 sf ae 、 l 、 an m s 、 h t 、 o i 、 0 、0 具 F ot r fe l r 、 u i p o m ve 0 1 0 2到 0 0 w i e c o 5。 陆 的 功 能 ;T evr F P ln 之 间 交 换 的 数 据 是 通 过 复 制 数 据 f PSre 与 T Ci t r r e 其 中 sf r fe 、 an mui、h t、 ve是 常 用 软 件 资 源 、 共 办 owae、l l r 、 s p oomoi t i e c 公 而 不 是 移 动 数 据 。F P协议 是 由 R C9 9Fl rnfr rtcl盯 P T F 5 i T as ooo( ) e eP 公 文 件 、 务 学 习 资 料 、 片 、 片 和 音 乐 资 源 , 些 数 据 资 源 由 站 点 业 影 照 这 定 义 的 , 主 要 目的 如 下 : 供 安 全 、 靠及 有 效 的 数 据 传 输 系统 ; 它 提 可 实 管 理 员 维 护 和更 新 .供 所 有 帐 户 浏 览 和 下 载 。 D/p0 2到 D/p00 :t/0 f :t/5 f 现 网 络 资 源 共 享 ;通 过 使 用 应 用 程 序 直 接 或 间 接 登 陆 和 使 用 远 程 主 是 对 应 的 用 户 sh o ak 0 c 0 I s 0 2到 s h o ak 5 的 个 人 空 问 。如 用 户 t c o h s0 0 机 ; 供一 致 性 的 协 议 , 免 用 户 在 不 同远 程 主 机 上 产 生 不 同 的操 作 提 避 sho ak0 e oh s0 2把 个 人 的 信 息 资 源 上 传 到 指 定 的 目 录 D/p0 2下 , :t/0 f 也 方 式『 J 1 。 可 以 对 该 目录下 的 文 件 进 行 删 除 和 重 命 名 , 除 管理 员 外 , 他 用 户 而 其 1 F P的 工 作 原理 . 2 T 对 该 目录和 文 件 只 有 浏 览 和 下 载 的权 限 。 上 通 过 实 例完 成 了 肿 的 综 F PCi t 起 fr T l n 发 e T P会 话 ,与 F PS re 建 立 相 应 的 两 个 连 接 。 T evr 初步搭建 。 F P会 话 期 间建 立 的 这 两 个 连 接 分别
安全FTP系统的设计与实现

靠且有效的数据传输等 , 应用 非常广泛 。但 是传统 的 F ’ T I P有 不少的安全漏洞 , 例如 明文传输 、 缺乏对数据 的机密性和完整性 保护 , 对通信双方也没有可靠 的认证措 施等 。针 对 F P的安全 T
漏洞 , 近年来也 出现 了一 些不需 要对 FP协议 自身 做完 全更改 I
关键 词 F P 安全 T r SL 加 密 S O P B S 6 T A E4
DES GN I AND M PLEM ENTATI I oN F A ECURE o S FTP YSTEM S
M a Ya Li at o Ba n c i n u H ia iYi g a ( co lfI om t nScryE gnei S ag a ioog U i rt,h nh i 0 0 0,hn ) Sho n rai eui n i r g,h nh i a t nv sy S ag 0 3 C ia o f o t e n J n ei a 2
Ab t a t sr c Fr sa p oo o ih c n ta se ls b t e o u e s c n e in l n a e n w d l s d Ho v r t e e a e lt f T P i r tc l wh c a r n f rf e ewe n c mp tr o v n e t a d h sb e i ey u e . we e .h r r o so i y
传输都在 S L通道里进行 。 S ( )用户认证 , 2 通过 ( sma , T , S 三元组 进行 , 中 U e me O P D ) 其
O P( n i as o ) 指 一 次 性 密 码 , S Dsa S ntr) T O e mePsw r 是 T d D ( i t i a e l g u
FTP客户端(1)

目录1 引言 (1)2 FTP简介 (1)2.1 FTP简介 (1)2.2 FTP工作原理 (1)3 系统分析及配置 (2)3.1 Ftp客户端设计思想 (2)3.2服务端配置-操作系统IIS安装 (3)4 FTP客户端概要设计 (5)4.1系统模块 (5)4.2系统功能 (5)4.3主要数据结构分析 (5)4.4程序界面设计 (6)5 详细设计及主要代码 (7)5.1设置列表控件的风格 (7)5.2对话框初始化 (8)5.3实现客户端连接到FTP服务器 (8)5.4列出FTP服务器目录 (9)5.5退出FTP服务器 (11)6 测试运行 (12)6.1登陆界面 (12)6.2列出服务器目录 (12)6.3退出服务器 (12)7总结 (12)参考文献 (13)1 引言FTP是Internet上用来传送文件的协议,它是为了我们能够在Internet上互相转送文件而制定的文件转送标准,规定了Internet上文件如何传送,通过FTP协议,我们可以跟Internet 上的FTP服务器进行文件上传或下载。
本实验以实现一个简单的FTP客户端为目标,实验目的是:1)熟悉网络应用层的传输协议,增强对FTP协议的了解;2)提高自己的动手能力以及编程能力;3)掌握vc和提高对MFC界面制作能力。
本次试验的要求如下:1)要求实现的程序为图形化界面,可以输入FTP服务的相关信息(包括IP地址、用户名与密码),输出交互过程中的FTP命令与响应信息,以及从FTP服务器的根目录获得的文件(或目录)列表。
2)要求遵循RFC959的相关FTP协议规定。
只要求实现USER、PASS、PASV、LIST 和QUIT命令。
点击Connect按钮,实现USER与PASS命令;点击LIST按钮,实现PASV 与LIST命令;点击Quit按钮,实现QUIT命令。
3)要求有良好的编程规范与注释信息。
4)要求有详细的说明文档,包括程序的设计思想、工作流程、关键问题等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XX大学毕业设计题目: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 clientAbstractThe 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协议进行了介绍。