- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络与信息安全实验
基于C++的FTP服务器程序设计
摘要:本实验的目的是设计一个FTP服务器系统,实现FTP服务器的大多数功能,包括用户的登录,文件
的上传、下载、删除、目录选择等,并给出相应的提示,能够解释一般的FTP命令,并且符合RFC959规范。
本程序采用VC++ 6.0作为开发工具,设计采用自顶向下的方法。该系统有着良好的界面,简单易用。
本实验的设计,即从需求分析,软件设计到软件功能实现,都始终遵循软件工程的思想和方法。本实
验中采用了大量的图表说明,使文章明确清晰,便与阅读和理解。
关键词: FTP服务器;上传、下载;自顶向下;
1 实验介绍
由于网络的带宽及各种服务的限制,单纯从页面上下载显得又慢又不
[1]
可靠,所以就有许多FTP 工具被开发出来。FTP 是一个客户机/服务器系统。
用户连接到在远程主机上的FTP 服务器程序,发出命令,服务器程序执行
用户所发出的命令,并将执行的结果返回到客户机。
本次程序设计的是一个FTP服务器。通过TCP/IP 网络应用程序基本的设计
方法和实现技巧,实现FTP服务器所应该具备的大多数功能,并给出相应的提示。
设计采用流行的C++语言作为此次设计的开发语言,并采用C/S网络通信结构作
为FTP 的网络体系结构;采用VisualC++6.0开发平台,Socket网络编程原理,
成功与相应的FTP客户端连接。
2 实验目的
理解并采用FTP协议制作一个简易的FTP服务器:
1. 具有用户授权功能 (包括匿名模式);
2. 实现基本的命令 (上传、下载、更改目录)操作;
3. 能够与目前已有FTP客户端连通。
FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务
器上的目录。
3 实验原理
FTP服务器的简单设计与实现建立在计算机网络实验环境TCP/IP 网络体系
结构之上,使用Socket 编程接口编写。Socket 通讯机制是一种较原始的通讯
机制,通过Socket的数据表现出来的形式是原始字节流信息,通讯双方只要在
此基础上按照双方约定方式进行数据的格式化和解析处理工作,这样才能完成具
[2]
体的应用,即实现某种协议的过程 。图3-1是Socket的工作原理图。
- 1-
网络与信息安全实验
图3-1 Socket原理图
客户机程序发送请求给服务器程序,服务器进程对客户机的请求做出响应,
并产生结果。客户机/服务器模式下,客户机为主动方,即请求方;而服务器为
被动方,即接受请求方。FTP服务如下图所示。
图3-2 FTP服务示意图
在数据处理领域中,客户机/服务器体系结构受到极关注,C/S 已经成为网
络计算机的主要方式。其中基于TCP/IP 的网络通信主要模式也是客户机/服务器
方式。C/S结构是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,
将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。其最
重要的特征是:是一个平等的环境,客户机和服务器的地位可以互换。所以客户
[3]
机/服务器体系结构应是应用程序之间相互作用的一种模型 。
4 实验步骤
4.1图4-1所示系统流程图。
-2 -
网络与信息安全实验
图4-1 系统流程图
4.2 主要的功能与实现
用CSocket 类编制的服务器端的程序,其过程如下,其过程主要是:
(1) 创建CSocket 对象。
(2) 创建底层套接字Socket。
(3) 调用Listen,开始监听从客户端发来的访问请求。
您可能关注的文档
- 华工2015招生简章.pdf
- 华南理工813自动控制原理 考研真题 2005-2012真题.pdf
- 华中师范大学参考书目及大纲(1).pdf
- 华中科技大学画法几何及机械制图习题集答案.pdf
- 黄升民:互联网思维广告化生存.pdf
- 汇编实验指导(2016).doc
- 汇编语言程序设计(第四版)第1 5章[课后答案].pdf
- 汇编语言第3 4章平时练习题.pdf
- 汇编语言程序设计总复习.pptx
- 汇编语言复习知识点(郑晓薇版).doc
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
- DB62T 4172-2020 玉米品种 酒623规范.pdf
- DB62T 4160-2020 在用真空绝热深冷压力容器综合性能在线检测方法.pdf
- DB62T 4164-2020 辣椒品种 酒椒1号.pdf
- DB62T 4133-2020 公路隧道地质超前预报机械能无损探测技术规程.pdf
文档评论(0)