- 18
- 0
- 约1.56千字
- 约 3页
- 2016-12-06 发布于重庆
- 举报
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下高性能服务器的程序架构和开发方法,为以后的进一步学习打下了基础。
蚅肂
您可能关注的文档
最近下载
- 电子倍增层背散射效应对增益及噪声的影响研究.pdf
- 弹簧模型-2023年高考物理动量常用模型模拟题精练(解析版).pdf VIP
- REF615使用操作说明书 (1).pdf
- (高清版)DB33 686-2019 机制纸板和卷烟纸单位产品能耗限额及计算方法.pdf VIP
- 7.3 世界上最大的黄土堆积区—黄土高原 第2课时(教学课件)-2025-2026学年八年级地理下册(人教版2024).pptx
- 深度解析(2026)《SFT 0074-2020耕地和林地破坏司法鉴定技术规范》.pptx VIP
- 2024年贵州省高考生物真题卷(含答案与解析)_7674.pdf VIP
- 弹簧模型-动量守恒的十种模型2025高考物理专项复习含答案.pdf VIP
- 市政协领导班子2024年民主生活会对照检查发言材料(四个带头).docx VIP
- 市政协副主席2024年民主生活会对照检查材料(四个带头).docx VIP
原创力文档

文档评论(0)