FTP服务器的构建与应用毕业论文_第1页
FTP服务器的构建与应用毕业论文_第2页
FTP服务器的构建与应用毕业论文_第3页
FTP服务器的构建与应用毕业论文_第4页
FTP服务器的构建与应用毕业论文_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京邮电大学 指导单位通信与信息工程学院通信与信息工程学院毕业设计(论文)原创性声明本人郑重声明:所提交的毕业设计(论文),是本人在导师指导下,独立进行研究工作所取得的成果。除文中已注明引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写过的作品成果。对本研究做出过重要贡献包括用户的登录(实名或匿名),文件的上传、下载、删除、目录查询等,并给出相应的提示。通过该程序的开发,基本上实现了一个FTP服务器所应该具有的功求分析,软件设计到软件功能实现,都始终遵循标准的思想和方法。本文中在描ThisprocedureisaFTP(FileTransferProtocol)serversystem,carryingoutmostfunctionsthatFTPservershouldhave,includingtheloggingofthecustomer(realnameoranonymous),documentofupload,download,delete,thecataloguechoice…etc.,andhinthelpsforeveryfunction.Passthedevelopmentofthatprocedure,carriedoutthefunctionthataFTPservershouldhavebasically,canexplainthegeneralorderofFTP,andmatchthenormoftelecomstandards.Thedesignofthissoftware,namelyanalyticalfromtheneed,thesoftwaredesignsthesoftwarefunctiontocarryout,allfollowingthethoughtandthemethodofthesoftwareengineeringalways.Italsoadoptedsomechartsinthetextelucidation,makearticledefinitelyclear,thenhelpwithThisprocedureadoptstheServ-UtobuildserverandadoptsVC++6.0todeveloptheclient.Thedesignstepadoptionfromamethodforgetdown.Keywords:FTP;upload;download;server;client 1 1第二章FTP协议与原理 3 3 3 6第三章开发环境及工具介绍 8 8 9 第四章FTP服务器的构建与应用 4.1需解决的问题 4.2功能分析 4.3FTP服务器的搭建 4.4FTP客户端的搭建 5.1测试过程 5.2结果分析 385.3测试出现的问题和不足 39 40 41参考文献 1南京邮电大学2007届本科生毕业设计(论文)1第一章课题概述在众多网络应用中,FTP(文件传输协议)有着非常重要的地位。Internet中一个十分重要的资源就是软件资源,而各种各样的软件资源大多数都放在FTP服务器中。与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户发出的命令,并将执行结果返回给客户机。FTP服务可以根据服务对象的不同分为两类:系统FTP服务器只允许系统上的合法用户使用;匿名FTP服务器(AnonymousFTPServer)允许任何人登录到FTP服务器去获取文件。1.2技术支持与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。在FTP的使用当中,用户经常遇到两个概念:”下载”(Download)和”上传”(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可下载或上传文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。这种情况违背了Internet的开放性,Internet上的FTP主机何止千万,不可能要求每个用户在每一台主机上都拥有帐号。匿名FTP就是为解决这个问题而产生的。匿名FTP是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户。系统管理员建立了一个特殊的用户ID,名为anonymous,Internet上的任何人在任何地方都可使用该用户ID。通过FTP程序连接匿名FTP主机的方式同连接普通FTP主机的方式差不多,只是在要求提供用户标识ID时必须输入anonymous,该用户ID的口令可以是任意的字符串。习惯上,用自己的E-mail地址作为口令,使系统维护程序能够记录下来谁在存取这些文件。值得注意的是,匿名FTP不适用于所有Internet主机,它只适用于那些南京邮电大学2007届本科生毕业设计(论文)2提供了这项服务的主机。当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上传文件,也就是说,用户可将匿名FTP主机上的所有文件全部拷贝到自己的机器上,但不能将自己机器上的任何一个文件拷贝至匿名FTP主机上。即使有些匿名FTP主机确实允许用户上传文件,用户也只能将文件上传至某一指定上传目录中。随后,系统管理员会去检查这些文件,他会将这些文件移至另一个公共下载目录中,供其他用户下载,利用这种方式,远程主机的用户得到了保护,避免了有人上传有问题的文件,如带病毒的文件。作为一个Internet用户,可通过FTP在任何两台Internet主机之间拷贝文件。但是,实际上大多数人只有一个Internet帐户,FTP主要用于下载公共文件,例如共享软件、各公司技术支持文件等。Internet上有成千上万台匿名FTP主机,这些主机上存放着数不清的文件,供用户免费拷贝。实际上,几乎所有类型的信息,所有类型的计算机程序都可以在Internet上找到。这是Internet吸引我们的重要原因之一。1.3总体设计我将利用Serv-UFTPServer软件搭建一个FTP服务器,使其具有基本的FTP服务器功能,同时再进行进一步完善FTP服务器架设,在原有基础上增加功能,同时我还将利用基于VisualC++的SOCKET编程完成的FTP客户端的搭建,使之能够与服务器进行通信测试、文件互传。并进一步完善FTP客户端程序,在原有的基础上达到课题要求功能南京邮电大学2007届本科生毕业设计(论文)3第二章FTP协议与原理FTP(FileTransferProtocol)是文件传输协议的简称。直到1994年,当一样最广泛应用的Internet客户程序。它被用于作为访问Internet主机文件的一个远程外壳。使用FTP可以连接到一个FTP服务器,在可用的目录间游历,并一个FTP站点可以是公用的,私有的,或者两者兼有之。使用一个私有的账号,你可以拥有访问整个网络的目录结构,或者只是特定的区域权限。Internet同时也是一个拥有很多允许任何人连接和传输文件的FTP服务器的中心,不管他们有没有主机上的账号。这叫做匿名FTP。当你登录到一个匿名FTP站点时,你通常使用“anonymous”作为你的用户名,“guest”或你的e-mail地址作为密码。例如,匿名FTP经常用于发布大量的公用领域或共享软件。其中一个著名的公用FTP站点是。FTP的主要设计目的是用于程序之中,不过FTP程序自身已经成为任何一个TCP/IP实施的重要部分。当你在Windows3.11、Windows95或WindowsNT中使用Netscape和其它的浏览器中,因此你可以使用浏览Web的程序同时浏览FTP一般来说.用户联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容之一。Internet上早期实现传输文件,并不是一件容易的事,我们知道Internet是一个非常复杂的计算机环境,有PC,有工作站,有MAC,有大型机,据统计连接在Internet上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行Unix的服务器,也有运行Dos、Windows的PC机和运行MacOS的苹果机等等,而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。南京邮电大学2007届本科生毕业设计(论文)42.2.1FTP工作原理FTP是TCP/IP的一种具体应用,它工作在OSI模型的第七层,TC四层上,即应用层,使用TCP传输而不是UDP,这样FTP客户在和服务器建立连接前就要经过一个被广为熟知的“三次握手”的过程,它带来的意义在于客户与服务器之间的连接是可靠的,而且是面向连接,为数据的传输提供了可靠的保证。采用FTP协议可使Internet用户高效地从网上的FTP服务器下载大信息量的数据文件,将远程主机上的文件拷贝到自己的计算机上。以达到资源共享和传递信息的目的。由于FTP的使用使得Internet上出现大量为用户提供的下载服务器。Internet成为了一个巨型的软件仓库。FTP在文件传输中还支持断点续传功能,可以大幅度地减小CPU和网络带宽的开销。2.2.2FTP服务器登录方式的分类我们已经知道FTP服务实际上就是将各种可用资源放在各个FTP主机中,网络上的用户可以通过Internet联到这些主机上,并且使用FTP(文件传送协议)将想要的文件拷回到自己的计算机中。在使用FTP传送文件之前,最主要的步骤就是如何联入各Internet上的FTP服务器。联入的主要步骤也就是登录(Login)的过程。通常用户在欲下载的FTP服务器上输入许可的帐号(account)和密码(password),得到该服务器许可后,即可进入。FTP服务器分为两种:其一,为一般的FTP服务器,进入这种服务器时必须拥有该主机的帐号和密其二,为匿名FTP服务器(称为anonymousFTP服务器)登录此类FTP服务器时,用户只要以“guest”或“anonymous”为帐号,并以自己的E-mail地址为密码,即可进入该FTP服务器主机,任意浏览和下载文件。当用户登录到某个FTP服务器时,如果用“guest”或“anonymous”为帐号,均无法进入,则表明该服务器不是匿名FTP服务器。实际上,匿名FTP只是FTP中的一种,它是一种开放式帐号的FTP服务器,它可以为网络上的任何使用者所利用,与非匿名的FTP不同的只是登录时的帐号为“anonymous”,而密码为任一用户的E-mail地址。现在,某些站点还明确要求使用电子邮件地址作为匿名用户密码,而不接受“guest”这样的密码。提供电子邮件地址,有助于让站点的拥有者了解到是哪些人在使用他们的服务。2.2.3FTP运行原理FTP的工作原理与其他许多网络实用程序一样,也是基于客户/服务器模式。互联网文件传输协议(FileTransferProtocol)标准是在FTC959说明的。该协议定义了一个在远程计算机系统和本地计算机系统之间传输文件的标准。一般来说,要传输文件的用户需先经过认证以后才能登录ftp服务器,访问在远程服务南京邮电大学2007届本科生毕业设计(论文)的交互。就模型而言,从1973年以来并没有什么变化。如图2.1所示。表2.2交互元素列表软件要素名称应用说明用户接口提供了一个用户接口并使用客户端协议解释器的服务USERPJ客户端协议解释器,向远程服务器协议机发送命令并且驱动客户传输过程UPTP客户端数据传输协议,负责实现与远端服务器进行数据传输,并与客户端本地文件系统交互服务器协议解释器,响应客户协议机发出的命令,并驱动服务器端数据传输过程服务器数据传输协议负责和客户进行数据传输以及服务器端文件系统通信PI之间的连接一般被称作控制连接(controlconnection),DTP之间的连接被称作数据连接(dataftp服务器监听端口号21来等待控制连接建立请求,当客户连接请求到达,会在客户和ftp服务器之间建立一个控制连接。而数据连接端口号的选择依赖于控制连接上的命令,通常是客户发送一个控制消息来指定客户需要建立一个数据连接来传输ftp数据(如下载/上载一个文件,显示当前目录的内容等等,都需要建立南京邮电大学2007届本科生毕业设计(论文)6数据连接来传输数据),在该消息中,指定了客户监听并等待连接的端口号,而服务器从控制连接收到该命令,向客户端发起一个连接请求到消息中指定的端口号,客户端收到该请求以后就会建立一个数据连接。连接建立以后,服务器或客户就会主动通过该连接发送数据(可能是要传输的文件,也可能是用户在命令行上发出的IS命令的输出)。一个完整的FTP文件传输需要建立两种类型的连接,一种为文件传输下命令,称为控制连接,另一种实现真正的文件传输,称为数据连接。1.控制连接客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器的TCP21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,这样的连接就称为FTP控制连接。2.数据连接FTP控制连接建立之后,即可开始传输文件,传输文件的连接称为FTP数据连接。FTP数据连接就是FTP传输数据的过程,它有两种传输模式:主动传输模式(Active)和被动传输模式(PASSIVE),如图2.3所示。FTPDataConnectionInitationServerFTPDataConngctionthitationHighServer图2.3主动传输模式和被动传输模式1)主动传输模式当FTP的控制连接建立,客户提出目录列表、传输文件时,客户端发出PORT命令与服务器进行协商,FTP服务器使用一个标准端口20作为服务器端的数据连接端口(ftp-data),与客户建立数据连接。端口20只用于连接源地址是服务器南京邮电大学2007届本科生毕业设计(论文)7端的情况,并且端口20没有监听进程来监听客户请求。在主动传输模式下,FTP的数据连接和控制连接方向相反,由服务器向客户端发起一个用于数据传输的连接。客户端的连接端口由服务器端和客户端通过协商确定。主动传输模式下,FTP服务器使用20端口与客户端的暂时端口进行连接,并传输数据,客户端只是处于接收状态。2)被动传输模式当FTP的控制连接建立,客户提出目录列表、传输文件时,客户端发送PASV命令使服务器处于被动传输模式,FTP服务器等待客户与其联系。FTP服务器在非20端口的其它数据传输端口上监听客户请求。在被动传输模式下,FTP的数据连接和控制连接方向一致,由客户端向服务器发起一个用于数据传输的连接。客户端的连接端口是发起该数据连接请求时使用的端口。当FTP客户在防火墙之外访问FTP服务器时,需要使用被动传输模式。被动传输模式下,FTP服务器打开-个暂态端口等待客户端对其进行连接,并传输数据,服务器并不参与数据的主动传输,只是被动接受。南京邮电大学2007届本科生毕业设计(论文)8第三章开发环境及工具介绍3.1C语言及VC++概述C语言是在70年代初创建的一种计算机语言,它既有汇编语言可以直接访问机器硬件的功能,又具有高级语言面向用户、可读性好和易于记忆的优点,因此受到广大程序员的欢迎。C是一种结构化的程序设计语言。它由顺序、选择和循环三种基本结构组成,便于实现由上到下、逐步细化的结构化程序设计。因此,用C编写的程序具有容易理解和便于维护的优点。C语言的函数结构有利于程序分割为相对独立的功能模块,为大型软件实现模块化的程序设计创造了条件。C没有依赖于硬件的输入和主、输出语句,因此用它编制的程序有较好的可移植性。C语言首先在Unix操作系统中得到了应用,由于它的这些优点很快成为当前应用最为广泛C语言的优点有:(1)简洁紧凑、灵活方便C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。(2)运算符丰富C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。(3)数据类型丰富C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。(4)C是结构式语言结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。南京邮电大学2007届本科生毕业设计(论文)9MicrosoftVisualC++是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、OLE2,WinSock网络、3D控制界面。它以拥有“语法高亮”,IntelliSense(自动编译功能)以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。这些特征明显缩短程式编辑、编译及连结的时间花费,在大型软件计划上尤其显著。VisualC++6.0是微软公司于1998年推出的。它的最大优点就是提供了功能强大的MFC类库,MFC是一个很大的C++类层次结构,其中封装了大量的类及其函数,很多Windows程序所共有的标准内容可以由MFC的类来提供,MFC类为这些内容提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓,这将简化编程工作大大的减少程序员编写的代码数量,使编程工作变得更加轻松容易。3.1.3VC++6.0集成开发环境VisualC++提供了一个集源程序编辑、代码编译与调试于一体的开发环境,这个环境称为集成开发环境,对于集成开发环境的熟悉程度直接影响程序设计的效率。开发环境是程序员同VisualC++的交互界面,通过它程序员可以访问C++源代码编辑器、资源编辑器,使用内部调试器,并且可以创建工程文件。MicrosoftVisualC++是多个产品的集成。VisualC++从本质上讲是一个Windows应用程序。VisualC++有两个版本,对于每一个版本,都有对应的文档。1)专业版本,它包括一个更高级的优化编译器,更广泛的文档,并能设计基2)标准版本,其费用较低,没有那么高级的编译器,文档较少,且不能设计MFC(MicrosoftFoundationClass)库是Microsoft为利用VC++开发的Windows应用程序而提供的应用程序框架,在这个框架的支持下,对于不同的应用程序,编程的主要任务是填写各自特殊部分的代码,MFC由于某种原因130多个类组成,这些类封装了两千多个API函数。MFC类库主要包括两类,一组是一般用途类,它提供了许多有用的抽象类,如Cfile类代表文件;CWnd类是窗口类,这些在Windows的编程中有重要的作用。另一类是OLE类,这一类专门用于OLE的编程。使用MFC的优点很多,主要的优点如下:南京邮电大学2007届本科生毕业设计(论文)1)用类编程,将代码和数据封装在类中,大大减少了编程的复杂性。2)通过继承实现了基本的代码重用。在MFC中定义了大量类,所以可以在编程中通过继承来使用这些类,另外,MFC还在这些类中定义了大量的虚函数,也就是说,对于这些函数,不但可以保存它们原有的特性,还可以对这些函数进行修改,使之具有新的特性。3)提供了大量的工具方便编程。在MFC中,可以使用AppWizard(应用程序向导),来建立应用程序的框架,可以使用ClassWizard(类向导)在程序中添加类、变量以及在程序中传递各种信息。用ControlWiard(控件向导)创建可以在Windows4)借助设计良好的类库通常可以减少代码规模。Serv-U是目前众多的FTP服务器软件之一。通过使用Serv-U,用户能够将任何一台PC设置成一个FTP服务器,这样,用户或其他使用者就能够使用FTP协议,通过在同一网络上的任何一台PC与FTP服务器连接,进行文件或目录的复制,移动,创建,和删除等。这里提到的FTP协议是专门被用来规定计算机之间进行文件传输的标准和规则,正是因为有了像FTP这样的专门协议,才使得人们能够通过不同类型的计算机,使用不同类型的操作系统,对不同类型的文件进行相互虽然目前FTP服务器端的软件种类繁多,相互之间各有优势,但是Serv-U凭借其独特的功能得以展露头脚。具体来说,Serv-U能够提供以下功能:1)符合windows标准的用户界面友好亲切,易于掌握。2)支持实时的多用户连接,支持匿名用户的访问;3)通过限制同一时间最大的用户访问人数确保PC的正常运转。4)安全性能出众。在目录和文件层次都可以设置安全防范措施。5)能够为不同用户提供不同设置,支持分组管理数量众多的用户。6)可以基于IP对用户授予或拒绝访问权限。7)支持文件上传和下载过程中的断点续传。8)支持拥有多个IP地址的多宿主站点。9)能够设置上传和下载的比率,硬盘空间配额,网络使用带宽等,从而能够保证用户有限的资源不被大量的FTP访问用户所消耗。10)可作为系统服务后台运行。11)可自用设置在用户登录或退出时的显示信息,支持具有UNIX风格的外部链接。所谓socket通常也称作"套接字",应用程序通常通过"套接字"向网络发出请南京邮电大学2007届本科生毕业设计(论文)包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。Socket通讯机制是一种较原始的通讯机制,通过Socket的数据表现出来的形式是原始字节流信息,通讯双方只要在此基础上按照双方约定方式进行数据的格式化和解析处理工作,这样才能完成具体的应用,即实现某种协议的过程。Socket可以看成是在两个程序间进行通讯连接的两个端点,一个程序将一段信息写入一个Socket中,该Socket将这段信息发送给另外一个Socket,以便使这段信息能传达到其他程序中。图3.1是Socket的工作原理图。Socket有两种主要的工作方式:有连接的和无连接的。有连接方式如流通讯;无连接方式如数据包方式。有连接的Socket操作就像一部电话。它们必须建立一个连接和一个呼叫。所有的事情在到达时的顺序与它们出发时的顺序一样。南京邮电大学2007届本科生毕业设计(论文)第四章FTP服务器的构建与应用首先,需选择好开发工具,设想好程序将要实现的大体功能后,我们就要分析该程序所需的条件,对该程序中将要遇到的问题做一下准备工作,以便于以后其次,要根据我们想要在局域网内进行文件传输的要求,因为本程序要实现的是FTP服务器的构建与应用,所以我要在搭建好服务器的同时,配上相应的FTP客户端,以实现其应用。具体还有:(1)客户端接口与服务器接口对接的问题。只有使用相同的接口才能顺利实现对接。我打算采用FTP默认的21接口。(2)FTP客户端的功能实现。本客户端可以实现FTP客户的基功能。当链接成功后,可以顺利实现资料的上传、下载、以及资料路径的查询等。(3)FTP客户端的美化。由于MFC的界面相对单一,界面基本为最原始界面,所以对客户端软件的美化也是十分必要的。4.2功能分析在做程序之前,我们要先确定本程序的功能,只有确定了功能,才能确定程序中使用什么函数来实现。如果想在局域网内进行文件传输,首先要有服务器端和客户端,两者配合使用。先打开客户端和服务器,然后让客户登陆一下服务器,服务器端设制一下服务器所完成的功能,然后客户端再向服务器发送应用请求,以此达到课题目的。4.3FTP服务器的搭建从处下载最新FTPServ-UServer(下文简称Serv-U),然后把它安装到计算机,操作步骤如下:(1)双击ServUSetup.exe,运行Serv-U安装程序,弹出欢迎窗口,单击【下南京邮电大学2007届本科生毕业设计(论文)安装向导-安装向导-Serv-U重要:如果已安装Servu比较旧的版本,并且未备份数据文件;请立即退出本安装进程并备份Serv-U的安装目录和数据目录。如果安装到现有的旧版本目录中,则将升级当前的安装的版本。这将保留所有当前的设置。本电脑程序受著作权法和国际公约的保护。为鼓励今后的开发工作,请勿散发您的注册码。谢谢!图4.1选择安装Serv-U程序(2)选择接受协议,单击【下一步】按钮;安装向导-安装向导-Serv-U许可协议使用本软件前请阅读以下条款和条件。一旦使用Sery-Uo,即表明您接受本许可协议和保证条款。单机注册版Serv-Ue可以由单个用户在一台电脑上独自使用,或安装到一台电脑供多人使用。一份Sery-Us许可不得安装于多台电脑上也ianLHm=Ahhn-wnmrnLm-nnh+◎我接受协议(A)<上一步(B)下一步M>图4.2接受安装协议(3)选择安装路径,点击【下一步】按钮;南京邮电大学2007届本科生毕业设计(论文)将ServU安装到哪里?图4.3选择安装路径(4)确定安装路径及开始菜单后,点击【安装】按钮,进行程序安装;D:\BiShe\Sery-U图4.4确认位置,开始安装待安装结束后,对Serv-U进行基本设置安装完Serv-U以后,需要对此进行设置,才能正式投入使用,首先对域名与IP地址进行设置,操作步骤如下:(1)倘若是初次安装,会弹出如下对话框,选择【是】定义新域;南京邮电大学2007届本科生毕业设计(论文)图4.5定义新域(2)输入域名称后选择【下一步】定义新域;域向导一步骤1总步骤4域向导一步骤1总步骤4区欢迎使用Serv-U域向导。本向导将帮助您在文件服务器上创建域。每个域名都是唯一的标识符,用于区分文件服务器上的其他域。名称☑启用域图4.6输入新域名称(3)使用系统默认端口,直接点击【下一步】;域向导-步骤2总步骤4域向导-步骤2总步骤4些协议,则这些协议可能无法使用。请选择域应该使用的协议及其相应☑ImplictFTPS(SSLTLS)☑HTTPS(SSL加密的HTTP80443图4.7默认端口(4)默认IP地址监听,直接点击【下一步】;南京邮电大学2007届本科生毕业设计(论文)域向导-步骤3总步骤4域向导-步骤3总步骤4<<所有可用的IPv4地址>><<所有可用的IPv6地址>>☑创建IPv6监听器图4.8默认IP地址(5)选择密码加密模式,点击【完成】;域向导域向导·步骤4总步骤4-密码加密模式◎使用服务器设置(加密:单向加密)简单的双向加密(不太安全)无加密(不推荐)更改服务器设置□允许用户恢复密码完成取消图4.9密码加密模式2.创建新账户Serv-U已经允许匿名用户登录,并取得访问权限,但最好还是建立一套自己的完整用户管理制度。(1)选择【是】创建新用户账户;南京邮电大学2007届本科生毕业设计(论文)域中暂无用户,您现在要为该域创建用户账户吗?图4.10创建用户帐户(2)选择使用用户向导安装后,输入新用户账户的登录ID,点击【下一步】;用户向导-步骤1总步骤4用户向导-步骤1总步骤4客户端尝试登录文件服务器时通过登录D标识其账户。(可选)下一步>取消图4.11填写登录ID(3)设置登录密码,若无密码可不填,接着点击【下一步】;(3)设置登录密码,若无密码可不填,接着点击【下一步】;用户向导-步骤2总步骤4凶欢迎使用Serv-U用户账户向导。该向导帮助您快速创建新用户,以访问您的文件服务器。用户必须在下一次登录时更改密码<上一步下一步>取消图4.12填写登录密码(4)设置用户登录根目录,若选择锁定于根目录,则其根目录的地址将被隐南京邮电大学2007届本科生毕业设计(论文)藏而只显示为“/”,设定好后选择【下一步】;用户向导-步骤3总步骤4用户向导-步骤3总步骤4欢迎使用Serv-U用户账户向导。该向导帮助您快速创建新用户,以访问您的文件服务器。根目录是用户成功登录文件服务器后所处的物理位置。如果将用户锁定于根目录,则其根目录的地址将被隐藏而只显示为Y。<上一步下一步>取消图4.12设定用户根目录图4.12设定用户根目录(5)选择用户访问权限,有“限制访问”和“完全访问”两项选择,接着点击【完成】,新用户创建成功;用户向导-步骤4总步骤4欢迎使用Serv-U用户账户向导。该向导帮助您快速创建新用户,以访问您的文件服务器。选择要授予用户在其根目录的访问权限。只读访问允许用户浏览并下载文件。完全访问使用户能够完全掌控在其根目录内的文件和目录。图4.13设定用户访问权限(6)如图4.14所示,用户账户列表中多出刚刚新建的账户;南京邮电大学2007届本科生毕业设计(论文)9i6w)在表体生根进户数调案用户Winacr备证a数是设柔时育根些垄D.@tneFTP向全法:县都书,过主2小时:学计o.按好额正英定行切两:0日。00142词产是上行10平:下行:0年8图4.14用户账户列表如图4.15所示,服务器管理者可以对用户进行统计、监控和管理;文理屋资通上并有城组用产会艺值察并对其进行置理,丑出重费一型个被接上国被执+和们卫时中数。生体无行时海0日,00-0804264场1排1*均登录对划2上21.30字节0发样)00CB(03文盛越GPVymgmN4wt#-a主图4.15用户活动统计同时还可以设定限制等高级功能,如图4.16;南京邮电大学2007届本科生毕业设计(论文)出伴意本处理社示和50LSS4王要题V安加封附制可以要基在据务费动有型定结机。金练册(用产称入要意大本不始对在何时而要研一,摆称一基三要明以,要五任何时进装响一星响,星班三重期以,要贴五在解市任词时间星好一星爬一星纳三星构己,能形五按养额正某定行明离。0日,001138合道:热m登过击24个粒3十3上行:提学节:下行:21字带在何时年谋赔一面所二墨师三重地算,重五在何时用要新一重称二单称三重期口,要新五低日时填星的一星期一集妇三星期值,盖五兴择工Fatwandnsfut美dHTF蓬像排地需预地bns名寿出对2图4.16限制功能设置Serv-U的功能十分强大,这里就不一一介绍,在用Serv-U软件搭建好服务器后,接着是编辑客户端软件,以此达到课题要求。4.4FTP客户端的搭建本程序是一个小型FTP客户端程序。主要实现的是FTP用户的登录、上传、下载、查询路径等,并给出相应的提示。程序采用VisualC++6.0开发,基于MFC的WindowsAPI函数进行编程。由于采用了MFC自带的FTP库函数编程,使得在搭建FTP客户端程序的时候变得很便捷。客户端程序采用MFC事件响应触发机制,即每按下一个按键便响应相应的事件去触发程序的执行。客户端主要由以下四个事件组成:①连接;②查询;③上传;④下载。每个事件已近用类封装起来独立4.4.1连接当界面中的连接按钮被点击后,会转向连接的类函数,连接函数主要调用WindowsAPI的GetFtpConnection函数进行客户端程序与FTP服务器程序之间的GetFtpConnection连接到一个FTP服务器,创建并返回指向CFTPConnection对象的指针。如果函数调用错误的话,可通过检查产生的CInternetException对象来确定出错类型。在程序中,如果检查产生了调用错误,则会在后面的程序中将连接删除。在信息提示框中会提示响应的连接正确或者错误信息。其中核心的连接代码如下所示:南京邮电大学2007届本科生毕业设计(论文)if(!pFtpConnect)//IfpFtpConnect=NULL,即需要进行的是连接服务器工作{pFtpConnect=sess.GetFtpConnection(m_strFtp,m_strName,m_strPwd);}catch(CInternetException*pEx)//IfconnecttoFTPs{pFtpConnect=NULL:{pFtpConnect->GetCurrentDirectory(m_strDirectory);//displaydirectoryMyListFile();//更新列表框中的文件列表,程序附在后面}else//需要进行断开服务器的工作pFtpConnect->Close();pFtpConnect=NULL;UpdateData(false);查询按钮被点击后,转入查询功能函数,查询函数主要调用WindowsAPI的SetCurrentDirectory成员函数设置好后,再调用GetCurrentDirectory函数即可得到设置路径目录下的所有文件。核心代码如下所示:南京邮电大学2007届本科生毕业设计(论文)voidCMyFTPDlg::OnButtonFind()//TODO:AddyourcontrolnotificationhandlercodehereUpdateData();if(m_strDirectory!=""){pFtpConnect->SetCurrentDirectory(m_strDirectory);pFtpConnect->GetCurrentDirectory(m_strDirectory);UpdateData(false);1当按下界面中的上传函数后。程序转向上传的类函数中,在这个函数中,主要调用WindowsAPI函数库中的PutFile()成员函数。调用这个成员函数可以把文件保存到FTP服务器。PutFile()函数是一个比较高级的例程,它可以处理有关把文件存放到服务器上的工作。只发送数据,或要严格控制文件传输的应用程序,应该调用OpenFile和CInternet:Write。利用自己选择的值来取代dwContext默认的值,设置为上下文标识符,上下文标识符是CInternetSession对象创建的CFtpConnection对象的特定操作有关,这个值返回给CInternetSession::OnStateCallBack,从而把操作的状态通报给它所标识的上下文。核voidCMyFTPDlg::OnButtonUpload()//TODO:AddyourcontrolnotificationhandlercodehereCStringstrSourceName,strDestName;CFileDialogldFile(true,"","*.*");//true表示打开文件if(ldFile.DoModal)==IDOK)strSourceName=ldFile.GetPathName();//其中路径包括目录和文件名strDestName=ldFile.GetFileName();//仅提供文件名if(!pFtpConnect->PutFile(strSourceName,strDestName))MessageBox("Errorputtingfile");}南京邮电大学2007届本科生毕业设计(论文)当按下界面中的下载按钮后,主程序进入下载的类函数中,在这个函数中,主要以调用WindowsAPI函数的GetFile()成员函数得以实现。调用这个成员函数,可以从FTP服务器取得文件,并且把文件保存在本地机器上。GetFile()函数是一个比较高级的例程,它可以处理所有有关从FTP服务器读FILE_TRANSFER_TYPE_ASCI,文件数据的传输也会把控制和格式符转化为Windows中的等阶符号。默认的传输模式是二进制模式,文件会以和服务器上相同的格式被下载。pstrRemoteFile和pstrLocalFile可以是相对于当前目录的部分文件名,也可以是全文件名,在这两个名字中间,都既可以用反斜杠(1)或者正斜杠(1)来作为文件名的目录分隔符,GetFile()在使用前会把目录分隔符转化为适当的字符。可以用自己选择的值来取代dwContext默认的值,设置为上下文标识符与CInternetSession对象创建。返回给CInternetSession:OnStatusCallBack的值指出了所标识操作的状态。核心代码如下所示:if(m_strFile!="")//m_strFile为选中的列表项{if(m_strFile.Right(5)=="<DIR>")MessageBox("Unabletodownloaddirectory");{CFileDialogldFile(FALSE,NULL,m_strFile);//false类型对话框为保存文件对话框if(ldFile.DoModal()==IDOK)if(!pFtpConnect->GetFile(m_strFile,ldFile.GetFileName)))MessageBox("Errorgettingfile");{南京邮电大学2007届本科生毕业设计(论文)程序完成后。界面如图4.17所示:下载南京邮电大学2007届本科生毕业设计(论文)第五章系统测试5.1测试过程首先,因为创建的是服务器和客户端,所以先打开自己的服务器,查看服务器是否能够运行,同时查看已添加账户情况。如图5.1所示:anonymouszero0915全名其次,当看到账户成功运行后,查看电脑的IP地址作为登录服务器的IP地以太网适配器本地连接:默认网关.图5.2IP地址查看再打开客户端,输入IP地址和帐号、密码,实现客户端与服务器端的登录。南京邮电大学2007届本科生毕业设计(论文)Files<DIR>退出上传图5.3客户端的登录当与服务器成功连接后,进行下载、上传文件测试,观察下载、上传文件是否正常,同时可测试路径查询功能。另仔内产围库保存类型():FTP_Down图5.4下载对话框南京邮电大学2007届本科生毕业设计(论文)盘盘取消库文件名:图5.5上传对话框经测试,客户端服务器均顺利运行,如图5.6所示。同时,匿名登录也测试nnunnu慧文理服资推上并面城到用产会艺级整并对其进行管理,日出发进一型小根排上国8*MH6=k繁单地上工全3(有2过24小时2:e+1上行*行0节tnn上一图5.6服务器活动状态查询经测试,服务器与客户端运行正常,各功能使用正常,均可顺利运行,达到南京邮电大学2007届本科生毕业设计(论文)预期目的。测试成功。5.3测试出现的问题和不足测试过程中,未发现问题。只是客户端的界面还是稍显简陋,功能也相对单一,希望能够在日后加以完善!南京邮电大学2007届本科生毕业设计(论文)毕业设计是本科学习阶段一次非常难得的理论与实际相结合的机会,通过这次比较完整的小型FTP系统设计,我摆脱了单纯的理论知识学习状态,而实际设计的结合锻炼了我的综合运用所学的专业基础知识,解决实际工程问题的能力,同时也提高我查阅文献资料、设计手册、设计规范以及电脑能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富,这是我们都希望看到的也正是我们进行毕业设计的目的所虽然毕业设计内容繁多,过程繁琐但我的收获却更加丰富。以前我对VC++了解不明确,但是现在我了解了VC++的运行环境,使用方法,以及一些命令的使用。以往编程时,不注意编程规范,致使程序运行不出来,现在在编写程序时很注意编写规范,以前一些控件不会使用,现在也都可以熟练使用了,在设计过程中一些功能的实现让我很头痛,原因是由于本身设计受到编程语言的限制,而又必须考虑本专业的一些要求规范,从而形成了一些矛盾点,这些矛盾在处理上让人很难斟酌,正是基于这种考虑我意识到,要想更完美的进行一次设计,与他人的交流沟通是很有必要的。提高是有限的但提高也是全面的,正是这一次设计让我积累了无数实际经验,使我的头脑更好的被知识武装了起来,也必然会让我在未来的工作学习中表现出更高的应变能力,更强的沟通力和理解力。顺利如期的完成本次毕业设计给了我很大的信心,让我了解专业知识的同时也对本专业的发展前景充满信心,今后我更会关注新项目开发,并争取尽快的掌握这些先进的知识,更好的为祖国的四化服务。南京邮电大学2007届本科生毕业设计(论文)四年的大学生活转眼就要结束了,在即将毕业之际,为了考验我们四年来所学知识的成果,以及加强我们分析解决计算机应用实际问题的能力和培养我们调查研究、查阅技术文献、资料、手册以及编写技术文献的能力,学校安排我们这次毕业设计。通过这次毕业设计,我们各方面都得到了很好的锻炼。本课题在选题及研究过程中得到许岚老师的悉心指导,许老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。许老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,虽历时不长,却给以终生受益无穷之道。感谢许老师,··论文的每个实验细节和每个数据,都离不开你的细心指导。感谢我的室友们,从遥远的家来到这个陌生的城市里,是你们和我共同维系着彼此之间兄弟般的感情,维系着寝室那份家的融洽。四年了,仿佛就在昨天。四年里,我们没有红过脸,没有吵过嘴,没有发生上大学前所担心的任何不开心的事情。今后大家要各奔东西,为了自己的前程奋斗,大家珍重。感谢我的高中同学凌宇,正是你的帮助才使我的毕业设计锦上添花,祝你在研究生阶段一切顺利。感谢我的爸爸妈妈,焉得谖草,言树之背,养育之恩,无以回报,你们永远健康快乐是我最大的心愿。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!最后,谨以此稚嫩的论文献给所有关心和帮助过我的老师、亲人、同学、和朋友们。我唯有在以后不断地努力进取,以学业和工作的继续求索来感谢培育我的母校和所有关心我的师长亲朋!希望我们都幸福快乐!南京邮电大学2007届本科生毕业设计(论文)参考文献[1]王建新.基于Internet的通信系统虚拟实验环境设计与实现[J].中南大学学报.2006年4月[2]张婧婧.基于Web和MATLAB的控制系统虚拟实验室的研究与实现[J].襄樊学院学报.2010年5月[3]李凌云.基于MATLABWeb的网络虚拟实验系统的构建[J].南京晓庄学院学报.2007年12月[4]任瑞玲.基于Simulink的时隙交换原理的仿真[J].电气电子教学学报.2004年2月[5]糜正琨.交换技术[M].北京:清华大学出版社.2006年7月[6]蔡慧.Matlab仿真结果显示技术的改进[J].电气电子教学学报.2009年4月[7]李凌云.基于三层体系结构的网络虚拟实验系统的设计与开发[D].浙江师范大学.2006年12月[8]XuHeyuan.RelationshipsAmongNGN,SoftswitchandIMS[J].ZTECommunications.2007年1月[9]ARIANITMARAJ,SKENDERRUGOVA.TheroleofsoftswitchinNGNnetwork[C].DNCOCO'09Proceedingsofthe8thWSEASinternationalconferenceonDatanetworks,communications,computers.2009.南京邮电大学2007届本科生毕业设计(论文)(1)FTP客户端启动程序(MyFTP)#include"stdafx.h"#include"MyFTPDlg.h"#include"WelcomeWND.h"#include"SkinPPWTL.h"#ifdefDEBUG#definenewDEBUGNEW#undefTHIS_FILEstaticcharTHIS_FILE[]=_FILE_;#endif/1HHHHHHHH||||||||||}||//CMyFTPAppBEGIN_MESSAGE_MAP(CMyFTPApp,CWinApp)//NOTE-theClassWizardwilladdandremovemappingmacroshere.//DONOTEDITwhatyouseeintheseblocksofgeneratedcode!//}}AFX_MSGON_COMMAND(ID_HELP,CWinApp::OnHelp)ENDMESSAGEMAPOCMyFTPApp::CMyFTPApp){//TODO:addconstructioncodehere,//PlaceallsignificantinitializationinInitInstance}////////||/////|/////////J/////!/////////////////////////TheoneandonlyCMyFTPAppobject南京邮电大学2007届本科生毕业设计(论文)//IIII/H||||/////|///)//Standardinitializa//Ifyouarenotusingthesefeaturesandwishtoreducethesize//CWelcomeWND();Sleep(2500);//主窗口延时2.5秒#ifdefAFXDLLEnable3dControls()//CallthiswhenusingMFCinasharedDLLEnable3dControlsStatic();//CallthiswhenlinkingtoMFCstatically#endifm_pMainWnd=&dlg;intnResponse=dlg.DoModal();}elseif(nResponse==IDCANCEL){南京邮电大学2007届本科生毕业设计(论文)//Sincethedialoghasbeenclosed,returnFALSEsothatweexitthel¹application,ratherthanstarttheapplication'smessagepump.}(2)FTP客户端功能程序(MyFTPDlg)#ifdefDEBUG#definenewDEBUGNEW#undefTHIS_FILEstaticcharTHIS_FILE[]=_FILE#endif//CAboutDlgdialogusedforAppAboutHH|IclassCAboutDlg:publicCDialog{enum{IDD=IDD_ABOUTBOX};//}}AFXDATA//ClassWizardgeneratedvirtprotected:virtualvoidDoDataExchange(CDataExchange*pDX);南京邮电大学2007届本科生毕业设计(论文)//Implementationprotected://}}AFXMSGDECLAREMESSAGEMAP)CAboutDlg:CAboutDlg():CDialog(CAboutDlg::IDD){//{{AFX_DATA_INIT(CAboutDlg)}voidCAboutDlg::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CAboutDlg)}BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)11{{AFX_MSG_MAP(CAb//NomessagehandlersEND_MESSAGE_MAPOCMyFTPDlg:CMyFTPD1g(CWnd*pParent/*=NULL*):CDialog(CMyFTPDlg::IDD,pParent)m_strName=_T("anonymous");m_strFile=_T("");//NotethatLoadIcondoesnotrequireasubsequentDestroylconinWin32m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);voidCMyFTPDlg:DoDataExchange(CDataExchange*pDX)CDialog::DoDataExchange(pDX);DDX_Control(pDX,IDC_LIST_FILE,m_listFile);DDX_Text(pDX,IDC_EDIT_NAME,m_strName);DDX_Text(pDX,IDC_EDIT_PWD,m_strPwd);DDX_Text(pDX,IDC_EDIT_DIR,m_strDirectory);BEGIN_MESSAGE_MAP(CMyFTPDlg,CDialog)ON_WM_SYSCOMMANDOONWMPAINTOON_WM_QUERYDRAGICONOON_BN_CLICKED(IDC_BUTTON_CONNECT,OnButtonConnect)ON_LBN_DBLCLK(IDC_LIST_FILE,OnDblclkListFile)ON_BN_CLICKED(IDC_BUTTON_DOWNLOAD,OnButtonDownload)ON_BN_CLICKED(IDC_BUTTON_FIND,OnButtonFind)ON_BN_CLICKED(IDC_BUTTON_UPLOAD,OnButtonUpload)//}}AFX_MSG_MAP//|||||」」」」!」」!!!!」!!!!!!!///]南京邮电大学2007届本科生毕业设计(论文)/1CMyFTPDIgmessagehandlersCDialog:OnInitDialog();//Add"About…"menuitemtosystemmenu.//IDM_ABOUTBOXmustbeinthesystemcommandrange.ASSERT((IDM_ABOUTBOX&0xFFFO)==IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX<0xF000);CMenu*pSysMenu=GetSystemMenu(FALSE);if(pSysMenu!=NULL)strAboutMenu.LoadString(IDS_ABOUTBOX);if(!strAboutMenu.IsEmptyO)pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);//Settheiconforthisdialog.TheframeworkdoesthisautomaticallySetIcon(m_hIcon,TRUE);//SetbigiconSetIcon(m_hIcon,FALSE);//Setsmallicon//TODO:AddextrainitializationherepFtpConnect=NULL;returnTRUE;//returnTRUEunlessyousetthefocustoacontrolvoidCMyFTPDlg:OnSysCommand(UINTnID,LPARAMIParam)南京邮电大学2007届本科生毕业设计(论文)if((nID&0xFFF0)==IDM{ABOUTBOX)CAboutDlgdlgAbout;dlgAbout.DoModal();{CDialog::OnSysCommand(nID,IParam);}//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelowl1todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,l/thisisautomaticallydoneforyoubytheframeworkvoidCMyFTPDlg::OnPaint){if(IsIconic)){CPaintDCdc(this);//devicecontextforpaintingSendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);//CentericoninclientrectangleintcxIcon=GetSystemMetrics(SM_CXICON);intcylcon=GetSystemMetrics(SM_CYICON);GetClientRect(&rect);intx=(rect.Width()-cxIcon+1)/2;inty=(rect.Height()-cylcon+1)/2;//Drawtheicondc.DrawIcon(x,y,m_hlcon);2南京邮电大学2007届本科生毕业设计(论文)CDialog::OnPaint();}//ThesystemcallsthistoobtainthecursortodisplaywhiletheuserdragsHCURSORCMyFTPDlg::OnQueryDragIcon(){return(HCURSOR)m_hIcon;}//TODO:AddyourcontrolnotificationhandlercodehereUpdateData();//Getthedatafromscreen//Dowehaveacurrentcoif(!pFtpConnect)//IfpFtpConnect=NULL,即需要进行的是连接服务器工作{try{pFtpConnect=sess.GetFtpConnection(m_strFtp,m_strName,m_strPwd);}catch(CInternetException*pEx)//IfconnecttoFTPseverisnotsucceed{pFtpConnect=NULL;}if(pFtpConnect!=NULL)//succeedpFtpConnect->GetCurrentDirectory(m_strDirectory);//displaydirectory//changebuttontextfrom"connectserver"to"closeserverconnect"UpdateData(false);MyListFile();//更新列表框中的文件列表,程序附在后面}else//需要进行断开服务器的工作pFtpConnect->Close();deletepFtpConnect;pFtpConnect=NULL;m_strDirectory="";UpdateData(false);m_listFile.ResetContent();voidCMyFTPDlg::MyListFile)//生成目录列表m_listFile.ResetContent();CFtpFileFindfinder(pFtpConnect);intbWorking=finder.FindFile(T("*"));CStringstrFileName;bWorking=finder.FindNextFile();strFileName=finder.GetFileName():if(finder.IsDirectory))strFileName+="<DIR>";m_listFile.AddString(strFileName);}finder.Close();}{//TODO:AddyourcontrolnotificationhandlercodehereUpdateData();if(m_strFile!=""){南京邮电大学2007届本科生毕业设计(论文)if(m_strDirectory.Right(1)!="/")temp=m_strF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论