FTP協议实现程序.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FTP協议实现程序

实验六 FTP协议实现程序 实验目的 (1)了解FTP协议通信过程; (2)理解Windows下Socket编程技巧以及各种I/O模型的特点和优势; (3)掌握Windows下高性能服务器的程序架构和开发方法。 2、实验要求 编写程序,实现一个FTP服务器,要求: (1) 工作在Windows平台下 (2)支持文件和文件夹的上传和下载 (3)支持多用户,多线程并发下载 (4)要求程序稳定高效,并输出适当调试信息显示当前程序运行状态 (5)界面风格不做统一规定,要求文档明晰,代码风格规范 3、实验环境 微机一台、Visual Studio 6.0集成开发环境。 4、实验相关知识 FTP基本原理:FTP使用两条Tcp连接来完成文件传输,控制连接与数据连接。控制连接用于传输控制,数据连接用于数据传输。在服务器启动后,服务器会在端口21等待客户的连接请求,有用户需要传输文件时,客户与服务器的端口21建立一个控制连接,用来传送客户的命令和服务器的应答,是连接一直保持到客户与服务器通信结果为止。当客户发出数据传输命令时,服务器会主动与客户建立数据连接,并与其进行数据交换。 FTP的传输模式:FTP协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台 计算机所处的位置、联接的方式、甚至是是否使用相同的操作系统无关。假设两台计算机通过ftp协议对话,并且能访问Internet,你可以用ftp命令来传输文件。每种操作系统使用上有某一些细微差别,但是每种协议基本的命令结构是相同的。 FTP的传输有两种方式:ASCII传输模式和二进制数据传输模式。 (1)ASCII传输方式:假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件(尽管字处理文件包含的大部分是文本,其中也包含有指示页尺寸,字库等信息的非打印符)。在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝,不要对这些文件进行处理,这也是下面要讲的二进制传输。 (2)二进制传输模式:在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能执行。如果你在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会使传输稍微变慢 ,也会损坏数据,使文件变得不能用。(在大多数计算机上,ASCII方式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。如果你传输二进制文件,所有的位都是重要的。)如果你知道这两台机器是同样的,则二进制方式对文本文件和数据文件都是有效的。 5 系统实施 5.1程序的主要流程图 5.2主要过程 初始化 创建完成端口 创建工作者线程并与完成端口关联 创建Socket Accept 发送欢迎消息 5.3实验截图 6、实验总结 通过本次试验了解了FTP协议通信过程,理解了Windows下Socket编程技巧以及各种I/O模型的特点和优势,掌握了Windows下高性能服务器的程序架构和开发方法,为以后的进一步学习打下了基础。 蚅肂

文档评论(0)

xznh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档