- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、设计题目:基于C#的FTP
二、设计要求:
学习C#程序设计。
通过应用程序与远程计算机建立连接,学习Client/server工作方式,使用文件传输协议(FTP)文件的下载和上传。
总结设计过程,写课程设计报告。
三、设计目的:
了解FTP的相关基础知识。
掌握.NET中FTP的服务器端编程方法。
掌握.NET中FTP的客户端编程方法。
四、设计环境:
1.Windows操作系统
2.开发平台:Visual studio.NET是一个开发和运行软件的新环境,便于开发基于网络的服务,拥有丰富的运行库,支持多种编程语言编写的组件,具有跨语言平台的互操作能力。C#是.NET平台中最重要的语言,它本身没有类库,而是使用.NET框架所 提供的统一类库,用户也可以定义特定域的属性,并将它们应用于任何语言元素如类、接口等,所以对网络应用程序提供完整的支援,这使得程序员能够在新的微软.NET平台上快速开发出种类丰富的应用程序。
五、设计内容:
1.FTP概述
FTP是应用层的协议,它基于传输层,为用户服务,它们负责进行文件的传输。FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间会非常长,并且不时的必需执行一些冗长的登陆进程。
FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。当数据通过数据流传输时,控制流处于空闲状态。而当控制流空闲很长时间后,客户端的防火墙会将其会话置为超时,这样当大量数据通过防火墙时,会产生一些问题。此时,虽然文件可以成功的传输,但因为控制会话会被防火墙断开,传输会产生一些错误。
文件传输协议(FTP)是TCP/IP提供的标准机制,用来将文件从一个主机复制到另一个主机。FTP使用TCP的服务。
3.FTP结构
FTP服务器端分为Protocol Interpreter(PI)及Data Transfer Process(DTP)两个模块。服务器端PI用来建立服务器Socket以监听并接受处理FTP客户端的连接请求,此连接会一直持续到客户端结束FTP应用程序为止。
FTP服务器端DTP专门处理FTP协议所定义的特殊指令,并将执行结果或信息返回至客户端。因此,DTP主要是负责传输数据(包括文件)。FTP客户端分为Protocol Interpreter(PI)、Data Transfer Process(DTP)及User Interface(UI)三个模块。FTP客户端PI用来与服务器建立连接。FTP客户端DTP用来将用户输入的FTP指令传输至服务器端处理,并且接收服务器端的响应(包括文件的处理)。FTP客户端UI用来提供用户与PI间的交互界面。
4..NET中的FTP编程
文件传输系统服务器端和客户端的流程是:服务器端首先进行TCP监听,当有客户端连接请求时,将文件目录发送过去,客户端选择文件后,服务器构造一个文件流读取指定文件,然后将文件流赋给网络流发送到客户端,客户端接到网络流后,转化为文件流存放到文件。
①数据发送编程方法
(1)当客户端输入了put命令后,会执行以下的代码向FTP服务器发送STOR命令,然后再通过sendData()方法发送文件数据。如果接收成功,会收到226响应代码。要发送的文件数据通过readFileData()方法读取。
(2)要发送的文件的数据通过readFileData()方法获得,参数filename是要读取数据的文件名,返回值是从文件中读取的字节数据。
(3)获得文件数据后,通过sendData()方法将其发送到FTP服务器。如果是PASV模式,就直接连接FTP服务器,然后发送数据;如果是PORT模式,就等待dataSocket为连接状态时发送。
②数据接收编程方法
(1)当客户端输入了get命令后,会执行以下的代码从FTP服务器接收文件。如果接收成功,会收到了226响应代码,否则可能会收到550响应代码。接收文件数据通过receiveData()函数完成,如果接收数据正确,返回值为文件内容,否则返回空字符串。如果接收到文件数据,就调用saveFileData()方法进行保存。
(2)接收到文件数据后,通过saveFileData()方法把数据写入文件中:参数filename是要保存的文件名,参数data是要写入的数据。代码首先检查文件是否存在,如果不存在就创建一个新文件。
5.截图
6.程序代码
(1)服务器端开发
//添加引用
using System.Net;
using System.Net.Sockets;
using Sys
您可能关注的文档
最近下载
- 大麦EK318.操作手册.C01.220905.pdf
- 五马先生纪年.docx VIP
- 急救与心理技能(视频课)知到课后答案智慧树章节测试答案2025年春中南大学.docx VIP
- 应急救援员国家职业技能标准(2019年版).pdf VIP
- 场地设计作图题-一级建筑师场地设计(作图题)真题精选.docx VIP
- 小学环境教育:校园内水体污染调查与水质保护实践教学研究课题报告.docx
- 阿迪达斯(Adidas)品牌现状分析与二次增长战略规划.pptx
- 人教版七年级上册数学一元一次方程计算题及应用题.docx VIP
- 人教版2025八年级上册英语Unit3 same or different单元复习课件.pptx VIP
- 濒危古树评估与抢救保护技术规程.docx VIP
文档评论(0)