版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、jishou university专业课课程论文* 口文件传输系统的设计与实现题 目:作 者:学 号:所属学院: 信息科学与工程学院专业年级: 计算机科学与技术总评分:完成时间:文件传输系统的设计与实现摘要互联网的一大特点是实现信息共享,文件传输是信息共享的十分重要的内 容之一。随之出现了许多ftm艮务器来共享一些信息资源,编写一个操作简单, 方便的ft哈户端来下载这些资源受到了人们的极大的欢迎。ft况一种用于在网上传输文件的协议, 从原理上说,ft先一个客户/服务 器模式的应用协议。它用两个连接来实现:一个是控制连接,用来连接服务器 和实现文件操作;一个是数据连接,用来实现数据传输。ftp勺
2、实现核心是命令 /应答模式,ft哈户端将用户的所有ftfffi关请求都转化为ftf务器可识别的 命令,然后发送到服务器,并接收和处理执行完毕后服务器传回的应答。本程序是一个小型ftp务器系统,实现了 ftp务器所应该具备的大多数 功能,包括用户的登录,文件的上传、下载、删除,选择数据传输模式、目录 选择等,并给出相应的提示。通过该程序的开发,基本上实现了一个 ftp务器 所应该具有的功能,能够解释一般的ft限令,并且符合rfc5觎范。本程序采用vc+6.0乍为开发工具,设计步骤采用自顶向下的方法。关键词:客户端;服务器;下载;上传;ftp目录第一章引言11.1 课题背景及意义11.2 课题研究
3、现状11.3 研究内容2第二章ftp协议与原理32.1 ftp 简介32.2 ftp的工作原理 32.3 ftp运行原理 42.4 ftp文件传输连接类型 4第三章开发环境及工具介绍63.1 c语言概述6.3.2 vc+介绍6.3.3 vc+6.0集成环境介绍 .6.第四章ftp服务器需求分析84.1 ftp文件传输的需求84.2 应解决的问题94.3 功能分析9第五章系统设计与实现105.1 功能要求105.2 开发工具105.3 主要功能与实现 115.4 菜单栏功能模块 115.5 查看功能模块13第六章系统测试186.1 系统可能出现的问题与不足186.2 采用的测试类型 186.3
4、测试的过程与结果分析18总结20参考文献21第一章引言1.1 课题背景及意义现代科技给我们带了翻天覆地的变化,互联网就是这诸多变化之一,而且 它无时不刻包围着你。可以这样说,21世纪是互联网的世纪。互联网是人类科 技发展史中成长最快的新鲜事物,从诞生到高度发展仅仅用了二十几年,而未 来的发展前景更是一片光明。每个人可能已经感觉到了它的发展,从大大小小 的网络公司到各种各样的网上商店、书店、网吧、网上银行等,就连电影院也 都搬到了网上,你可以足不出户的欣赏美国大片。早在20世纪90年代初,internet和world wide web (简称 www)已经被 大家熟知。最近几年internet的
5、发展更是神速,它已经深深触及到我们的生活 和工作的方方面面。随着许多新兴技术在internet中的推广应用,使用它的自身发展更日趋完善,它为用户也带来了越来多的实惠和便利。毫不夸张地说, 无论你在世界上的哪个角落,只要通过互联网,你就可以同亲人朋友、甚至是 陌生人相互交流,而且形式多样。互发邮件、交换文件、彼此聊天这已经很平 常了,而现在随着网络、通信技术的相结合,已经出现了可视电话、网络家电、 电子商务等。网络用户可以通过大大小小的各类网站或主页。他们已经越来越 离不开网络,而且已经把企业网络建设纳入了未来企业发展最重要的环节。是 互联网最大的凝聚力所在,它是一个巴罗万象的信息服务系统。在生
6、活中,以国际互联网(internet)为主要特征的信息基础设施正在改变 人们的生活方式,自选共享已经成为人们生活的迫切需要。尽管远程登录(telnet)提供了访问远程文件的极好方法,但怎么也比不上使用自己计算机的 文件方便。如果用户想使用其它计算上的文件,最理想的方法就是把它copy到自己的计算机中,以便在本地计算机上操作。ftp正是完成这项工作的工具,你可以在任意文件传输协议(ftp)访问的公共有效的联机数据库或文档中找到 你想要的任何东西。1.2 课题研究现状1971 年,第一个 ft 的 rfc (rfc114 )由 a. k. bhushan 在 1971 年提出, 同时由mit与ha
7、rvard实验实现;1972年,rfc17现供了主机问文件传输的一个 用户级 协 议;1973年2月,在长期讨论(rfc265 rfc294 rfc354 rfc385,rfc4 30后,出现了一个官方文档rfc454 ;1973年8月,出现了一个修订后的 新官方文档rfc542。确立了 ftp的功能、目标和基本模型。当时数据传输协 议采用ncp;1980,由于底层协议从ncp改 变 为tcp, rfc765定义了采用tcp 的ftp;1985年,一个作用持续至今的官方文档 rfc959(std9出台。用ftp传输 文件,本来用户事先应在远方系统注册,但后来为了便于大家获取资源,ftp在互联网
8、上有一种特殊的也是非常广泛的应用是匿名ftp (anonymousftp).通过internet,任何用户可以使用ftp和一个公用账号去获得一些公用资源。在 internet上目前有许许多多的这种公用计算机, 我们把这种用来做匿名ftp服 务的计算机称作ftp服务器,对每一个连入internet的用户,只要知道这些 ftp服务器的地址,就可以与它们连接并获取上面各种资源。由于 ftp操作简 单实用,开放性强,且能充分利用internet来进行信息传递与交流,所以目前 越来越多的ftp服务器连入internet,这样越来越多的资源就可以通过匿名 ftp 来获得。1.3 研究内容文件传输系统是为了
9、满足庞大的计算机网络系统实现文件共享和数据 传输的需要而设计的。本文在vc+ +语言平台上,依据应用层的文件传输 协议的基本原理,从切身实际出发,开发了一款文件传输系统。该系统能 登录服务 器,实现文件的下载和上传,以及文件的添加和删除的相关操 作。在此过程中,首先ftp客户端将用户名、密码和链接端口发送到指定 ip地址,尝试与ftp服务端建立连接;其次,登录成功后,用户将要传输文 件的进行编码,发送到ftp服务器;最后,待数据传输结束,ftp客户端发出 quit旨令,结束ftp连接。通 过前期规划,中期编写代码,后期调试和测试程 序,这款模拟器能实现基本功能,但如果为了满足商业化需求,就得我
10、们 后期进一步优化。第二章ftp协议与原理2.1 ftp简介ftp是tcp/ip协议中的协议之一,是英文file transfer protocol的缩写。该 协议是inernet文件传送的基础,它由一系列规格说明文档组成,目标是提高文 件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效 地传送数据。简单的说,ftp就是完成两台计算机之间的拷贝,从远程计算机 拷贝文件至自己的计算机上,称为“下载”文件。若将文件从自己计算机中国 拷贝至远程计算机上,则称之为“上传”文件。在tcp/ip协议中,ftp标准命令tcp端口号为21 , port方式数据端口为20.从根本上说,ftp协
11、议就是在网络中各种不同的计算机之间按照 tcp/ip协 议来传输文件。ftp协议采用客户机/服务器模式,由ftp客户端程序和ftp服 务器端程序组成。使用时,先启动ftp客户端程序与远程主机建立连接,然后 向远程主机发出传输命令,远程主机在收到命令后就给与响应,并执行正确的 命令。但是ftp有一个根本的限制,那就是如果用户在某个主机上没有注册获 得授权,既没有用户名和口令,就不能与该主机进行文件传输。但匿名 ftp服 务器除外,它能够使用户与远程主机建立连接并以匿名身份从远程主机上拷贝 文件,而不必是该远程主机的注册用户。用户使用特殊的用户名就可有限制的 访问远程主机上公开的文件。限制许多系统
12、要求用户将邮件地址作为口令,以 便更好的对访问者进行跟踪。出于安全的目的,大部分匿名ftp主机一般只允许远程用户下载文件,而不允许上传文件。另外,匿名ftp主机还采用了其他一些保护措施以保护自己的文件不至于被用户修改和删除,并防止计算机病毒 的侵入。匿名一直是internet上获取信息资源的最主要方式,在internet成千上 万的匿名ftp主机中存储着无以计数的文件,这些文件包含了各种各样的信息、 数据和软件。人们只要知道特定信息资源的主机地址,就可以匿名 ftp登录。2.2 ftp的工作原理ftp是tcp/ip的一种具体应用,它工作在 osi模型的第七层,tcp模型的 第四层上,即应用层,
13、使用tcp传输而不是udp,这样ftp客户在和服务器建 立连接前就要经过一个被广为熟知的“三次握手”的过程,它带来的意义在于 客户与服务器直接的连接是可靠的,而且是面向连接,为数据的传输提供了可靠的保证。采用ftp协议可使internet用户高效的从网上的ftp服务器下载大信 息量的数据文件,将远程主机上的文件拷贝到自己的计算机上。以达到资源共 享和传递信息的目的。由于ftp的使用使得internet上出现大量为用户提供下载 服务器。internet成为了一个巨型的软件仓库。在文件传输中还支持断点续传功 能,可以大幅度的减小和网络带宽的开销。2.3 ftp运行原理ftp的工作原理与其他许多网络
14、实用程序一样,也是基于客户/服务器模式。互联网文件传输协议标准是 ftc959在说明的。该协议定义了一个在远程 计算机系统和本地计算机系统之间传输文件的标准。一般来说,要传输文件的 用户需先经过认证以后才能登陆服务器,访问在远程服务器的文件。大多数的 ftp服务器往往提供一个guest的公共账户来允许没有ftp服务器账户用户可 以访问该ftp服务器。一个ftp会话通常包括五个软件元素的交互。就模型而 言,从1973年以来并没有什么变化.ftp协议模型2.4 ftp文件传输连接类型一个完整的ftp文件传输需要建立两种类型的连接,一种为文件传输下命 令,称为控制连接,另一种实现真正的文件传输,称为
15、数据连接。1 控制连接客户端希望与ftp服务器建立上传下载的数据传输时,它首先向服务器的 端口发起一个建立连接的请求,ftp服务器接收来自客户端的请求,完成连接 的建立过程,这样的;连接就称为ftp控制连接。2数据连接ftp控制连接建立之后,即可开始传输文件,传输文件的连接称为ftp数据连接。ftp数据连接就是ftp传输数据的过程,它有两种传输模式:主动传 输模式和被动传输模式,如图所示。主动ftp裱动ftf修m portftp connelan hla%o2$xl 工 wd春加t t y tuh用值g用户账户窗口这一功能实现,代码如下void cuseraccountsdlg:ondblcl
16、kdirlist (nmhdr*pnmhdr,lresult*presult )oneditdir();*presult=0;5.5 查看功能模块1 .服务器日志模块的功能:在此屏幕,记录客户端与服务器端的连接 信息以及传输信息,当客户端登录服务器时服务器日志会显示是否与服务器连 接成功,当客户端要上传文件或是下载文件成功时会记录服务器和ftp客户端的详细资料,从而有助于您追踪服务器与客户端之间的所有的通讯讯息,数目 之间的方括号口是线程id,如图所示。该部分功能实现代码如下:friend clogfile& setlevel(clogfile& os, int level) m_ncurre
17、ntlevel=level;return os;friend clogfile& error_lvl(clogfile& os)os.m_ncurrentlevel=1;return os;friend clogfile& warning_lvl(clogfile& os) os.m_ncurrentlevel=2;return os;friend clogfile& trace_lv(clogfile& os)os.m_ncurrentlevel=3;return os;-y n if服务器日志窗口2 .在线用户模块的功能:通过服务器来查看在线客户端的用户名,用户ip地址,用户登录时间等信息
18、,如图所示】:j: 55 chlpszname,lpctstrh.0.( jwj 迎加127.0.c 1在线用户窗口该模块功能实现代码如下:class conlineuserpage : public cdialogdeclare_dyncreate(conlineuserspage)public:void removeuser(dword nthreadid);void adduser(dword nthreadid,lpctstr lpszaddress);conlineuserspage();conlineuserpage();enum idd = idd_proppage_online
19、;clistctrl m_onlineusers;protected:virtual void dodataexchange(cdataexchange*pdx); /ddx/ddv suport protected:afx_msg void onsize(uint ntype, int cx, int cy);virtual bool oninitdialog();afx_msg void oncontextmenu(cwnd*pwnd, cpoint point);afx_msg void onkickuser();afx_msg void onedituseraccount();afx_
20、msg void onblockip();declare_message_map();/ microsoft visual c+ will insert additional declarations immediately before the previous line,#endif3 .配置模块的功能:在这里,可以配置ftp服务器所以得设置。默认 服务器端口为21,可以同时连接最多用户数,客户端与服务端连接时间(当客 户端已闲置的具体时间,它会自动断开),欢迎信息(当客户端连接到服务器时 将会显示该文本),再见讯息(文本显示当一个客户端从服务器断开时)其他设 置。ftp服务器window
21、s下启动,启动最小化在系统盘,并在启动时自动激活 服务器。用户还可以将用户各种信息都记录在服务器日志里,如图所示。配置界面可通过该图可以看出来,服务器的一些配置功能的实现代码如下:cconfigurationpage:cconfigurationpage():cdialogresize(cconfigurationpa ge:idd) m_nport=0;m_nmaxusers=0;m_strgoodbyemessage=_t(”);m_bstartiray=false;m_ntimeout=0;m_strwelcomemessage=_t(”);m_blaunchonstartup=fals
22、e;m_bautoactivate=false;m_nloglevel=0;m_strapplicationname=_t( ); m_bmodified=false;cconfigurationpage: : cconfigurationpage()bool cconfiguration page: : oninitdialog()cdialogresize: : oninitdialog();initresizing(false, false, ws_clipchildren);updatedialogcontrols(this,false);return true;/ninitdialo
23、gvoid cconfigurationpage: : onview()int execstatus=(uint)shelexecute(m_hwnd, open,notepad.exe”,(lpctstr)theapp.m_logfile.m_filename, 0, sw_show);switch(execstatus)case 0:messagebox( systeem is out memoryvshellexecute error”,mb_okmb_iconexclamation);break;case2:messagebox( notepad.exe is notfound!”,“
24、shellexecuteerror”,mb_okimb_iconexclamation);break;default:if(execstatus=32)messagebox( problem with executing ofnotepad.exe shellexecuteerror ”,mb_okimb_iconexclamation);break;查看日志内容void cconfigurationpage:onclear()theapp.m_logfile.clear();清除日志文件内容到这里该系统的主要模块的功能的实现以基本完成。第六章系统测试6.1 系统可能由现的问题与不足经过几次的
25、软件测试发现系统存在着一些不足之处。具体为:1当客户端与服务器建立连接时,有时连接较慢。2当用户向服务器上传文件时可能会传输中断,服务器仍然存在一些不稳 定的数据连接。6.2 采用的测试类型1黑盒测试在黑盒测试中,软件测试员只要知道软件要做什么一一而无法看到盒子 里的团建如何运行的。只要进行一些输入,就能得到某种输出结果。他你知道 软件如何运行,为什么会这样,只知道程序做了什么。2白盒测试在白盒测试(有时称为透明盒测试)中,软件测试员可以访误码程序 员的代码,并通过检查代码的线索来协助测试一一可以看到盒子里面。测试员 根据代码检查结果判断或多或可能出错的数目,并据此定制测试。6.3 测试的过程
26、与结果分析在编写程序时有时会遇到运行错误,这是由于有的地方代码编写错误只有 改写一下就可以了。首先因为创建的事服务器端,所以先登录自己的服务器,为了查看服务器 是否能够运行,又配置了一个客户端,在二台电脑中实现客户端与服务器只见 文件的传输。首先用客户端登录服务器,并与服务器建立连接,然后上传,下 载文件,看看服务器端有什么反应,但是有时会发现虽然建立了连接,但是文 件传输有时会失败,而且这个服务器不可以匿名登录所以客户端匿名登录时无 法与服务器连接,只有用有效的用户名才可以与服务器建立连接,如图所示。工 ftp ont僦如1w布粗已客户端这是配置的一个客户端,用户只有用有效的用户名才可以登录服务器,现 在试着用lijin这个用户名来登录一下服务器,可以看到客户端有这样的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47257-2026铸造机械抛喷丸设备安全技术规范
- 2026山东济宁市汶上县教育系统校园招聘50人笔试模拟试题及答案解析
- 2026中国农业大学水利与土木工程学院招聘农业节水相关领域博士后笔试备考题库及答案解析
- 2026年湖北科技学院继续教育学院单招职业适应性测试题库有答案详细解析
- 2026重庆万盛经开区医疗保障事务中心招聘1人笔试备考题库及答案解析
- 2026年镇江扬中市事业单位集中公开招聘工作人员36人笔试参考题库及答案解析
- 2026中国移动智慧家庭运营中心春季校园招聘笔试参考题库及答案解析
- 2026年中陕核工业集团监理咨询有限公司招聘笔试参考题库及答案解析
- 2028榆林神木市第三十幼儿园教师招聘笔试参考题库及答案解析
- 2026年安徽江淮汽车集团股份有限公司招聘340人笔试备考试题及答案解析
- 全过程工程咨询投标方案(技术方案)
- 2025年《农业经济学》考试题库及答案
- 眼镜店验光设备计量管理制度
- 《南翔小笼包》课件
- 观察了解和处置患者用药与治疗反应的流程
- 《我国职业本科教育人才培养目标研究》
- 首都经济贸易大学《统计学》2022-2023学年第一学期期末试卷
- 肝功能异常的评估及其临床诊疗思路课件
- DB11T 3034-2023 建筑消防设施检测服务规范
- xxx高校5G随行专网融合建设方案
- 房屋建筑拆除施工方案
评论
0/150
提交评论