- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于C++的FTP服务器程序设计摘要:本实验的目的是设计一个FTP服务器系统,实现FTP服务器的大多数功能,包括用户的登录,文件的上传、下载、删除、目录选择等,并给出相应的提示,能够解释一般的FTP命令,并且符合RFC959规范。本程序采用VC++6.0作为开发工具,设计采用自顶向下的方法。该系统有着良好的界面,简单易用。本实验的设计,即从需求分析,软件设计到软件功能实现,都始终遵循软件工程的思想和方法。本实验中采用了大量的图表说明,使文章明确清晰,便与阅读和理解。关键词:FTP服务器;上传、下载;自顶向下;1 实验介绍由于网络的带宽及各种服务的限制,单纯从页面上下载显得又慢又不可靠,所以就有许多FTP[1]工具被开发出来。FTP是一个客户机/服务器系统。用户连接到在远程主机上的FTP服务器程序,发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。本次程序设计的是一个FTP服务器。通过TCP/IP 网络应用程序基本的设计方法和实现技巧,实现FTP服务器所应该具备的大多数功能,并给出相应的提示。设计采用流行的C++语言作为此次设计的开发语言,并采用C/S网络通信结构作为FTP的网络体系结构;采用Visual C++ 6.0开发平台,Socket网络编程原理,成功与相应的FTP客户端连接。2实验目的理解并采用FTP协议制作一个简易的FTP服务器:1. 具有用户授权功能(包括匿名模式);2. 实现基本的命令(上传、下载、更改目录)操作;3. 能够与目前已有FTP客户端连通。FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录。3 实验原理FTP服务器的简单设计与实现建立在计算机网络实验环境TCP/IP 网络体系结构之上,使用Socket 编程接口编写。Socket 通讯机制是一种较原始的通讯机制,通过Socket的数据表现出来的形式是原始字节流信息,通讯双方只要在此基础上按照双方约定方式进行数据的格式化和解析处理工作,这样才能完成具体的应用,即实现某种协议的过程[2]。图3-1是Socket的工作原理图。图3-1Socket原理图客户机程序发送请求给服务器程序,服务器进程对客户机的请求做出响应,并产生结果。客户机/服务器模式下,客户机为主动方,即请求方;而服务器为被动方,即接受请求方。FTP服务如下图所示。图3-2 FTP服务示意图在数据处理领域中,客户机/服务器体系结构受到极关注,C/S已经成为网络计算机的主要方式。其中基于TCP/IP的网络通信主要模式也是客户机/服务器方式。C/S结构是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。其最重要的特征是:是一个平等的环境,客户机和服务器的地位可以互换。所以客户机/服务器体系结构应是应用程序之间相互作用的一种模型[3]。4实验步骤4.1图4-1所示系统流程图。图4-1系统流程图4.2主要的功能与实现用CSocket类编制的服务器端的程序,其过程如下,其过程主要是:(1) 创建CSocket对象。(2) 创建底层套接字Socket。(3) 调用Listen,开始监听从客户端发来的访问请求。(4) 如果收到请求,调用CAsyncSocket::Accept()函数进行接收外理[4]。(5) 建立CSocketFile对象,并且使该对象与CSocket对象具备一定的联系。建立Carchive对象,以便实现卸装(接收)数据和存储(发送)数据的目的地址。注意:该Carchive对象应该与前面的CSocketFile对象建立联系。(6)使用Carchive对象在客户机和服务器Socket之间传递数据,从而实现服务器Socket和客户机Socket之间的通信。值得注意的是,一个给定的Carchive对象只能在单一的方向上传递数据:或者接收,或者发送。4.3程序界面程序界面主要包括服务器日志、在线用户、统计信息、安全管理、菜单栏、工具栏、状态栏。如图4-2所示。图4-2服务器用户界面4.3.1菜单栏功能模块菜单拦包括:服务器,查看。服务器菜单包括:开始,停止,用户账户向导,用户账户等功能。查看菜单包括:服务器日志,在线用户,配置,统计,安全等功能。各项功能实现如下:服务器功能: 1.用户向导:当用户登录服务器时需要创建一个有效的账户,用户帐户向导将引导此用户通过必要的步骤,创造一个新的用户帐户。并将其添加到用户帐户对话框,创建用户名,如图4-3所示。图4-3用户帐户向导窗口通过这个窗口可以创建用户的用户名以及用以登陆FTP服务器的相应密码,该部分功能实现代码如下:CWizardPage1::CWizardPage1() :CPropertyPageEx(CWizardPag
您可能关注的文档
- 第三章遗传的染色体学说技术总结.ppt
- 基于AIMStor的持续数据保护方案选读.ppt
- 基于Ansys的铆钉冲压形变选读.ppt
- 合富辉煌-2014标杆楼盘金沙左岸成功100p选读.ppt
- 基于ansys的预应力混凝土非线性求解选读.ppt
- 第三章英译汉的层次词技术总结.ppt
- 第三章荧光增白剂技术总结.ppt
- 第三章蝇类防制(3-1-1常见成蝇的形态特征)技术总结.ppt
- 合工大光的衍射选读.ppt
- 基于CryptoAPI的文件加解密系统的设计与实现选读.docx
- 高二地理区域协调发展机制分析.docx
- 高二化学缓冲溶液pH计算题.docx
- 高二化学配位化合物稳定常数题.docx
- 2025年重庆公共运输职业学院马克思主义基本原理概论期末考试模拟题附答案.docx
- 2025年新星职业技术学院毛泽东思想和中国特色社会主义理论体系概论期末考试模拟题及答案1套.docx
- 2025年哈尔滨信息工程学院马克思主义基本原理概论期末考试模拟题附答案.docx
- 2025年北京网络职业学院马克思主义基本原理概论期末考试模拟题附答案.docx
- 2025年四川卫生康复职业学院马克思主义基本原理概论期末考试模拟题附答案.docx
- 2025年辽宁工程职业学院马克思主义基本原理概论期末考试模拟题附答案.docx
- 2025年南京交通职业技术学院中国近现代史纲要期末考试模拟题及答案1套.docx
最近下载
- 采矿工艺技术(采矿学).ppt VIP
- 2016年全国国际商务单证员专业考试国际商务单证缮制与操作试题(附答案).pdf VIP
- 2025年农村人居环境整治长效管护国际合作报告.docx VIP
- 初20XX年级踩线生会议讲话稿.docx VIP
- 联想扬天V14 G2-ITL 系列产品环保证书.docx VIP
- 山西省太原市2024-2025学年高二上学期期末学业诊断数学试卷含答案.pdf VIP
- 教师资格认定申请表(补).doc VIP
- 小学数学新苏教版三年级下册 一 第7课时 练习一 教学课件(2026春).pptx VIP
- 环氧树脂课程设计.doc VIP
- 护理专业硕士考研(护理综合)历年真题试卷汇编及答案(一).pdf VIP
原创力文档


文档评论(0)