C#网络编程及应用 教学课件 作者 刘瑞新 第12章 FTP协议开发.pptVIP

C#网络编程及应用 教学课件 作者 刘瑞新 第12章 FTP协议开发.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十二章 FTP协议开发 12.1 FTP协议规范 12.2 FTP协议开发举例 12.1 FTP协议规范 1.FTP命令 FTP协议规定了使用的命令,每个命令都有3到4个字母组成,后面是该命令的参数。每个命令都以回车换行结束。 常用命令见教材。 2. FTP响应码 FTP协议也规定了客户端发送FTP命令后服务器返回的FTP响应码,响应码用三位数字编码表示,第一个数字给出有关命令状态的一般性指示,第二个数字指示所发生的常规错误类型,第三个数字提供了更为详细的信息。 具体内容参考课本表12-1 12.2 FTP协议开发举例 ?发送和接收数据的方法 1. 发送和接收命令或响应码 对于客户端,首先需要建立与服务器的连接: TcpClient client=null; try { //与服务器建立连接,此处用代表服务器IP client=new TcpClient(,21); } catch { MessageBox.Show(与服务器连接失败!); return; } 与服务器连接成功后,就可以创建一个NetworkStream流,然后利用StreamReader对象的ReadLine方法将网络流数据读入字符串中,利用StreamWriter对象的WriteLine方法将字符串写入网络流。 NetworkStream netStream=client.GetStream(); StreamReader sr= new StreamReader(netStream,System.Text.Encoding.Unicode); StreamWriter sw= new StreamWriter(netStream,System.Text.Encoding.Unicode); string str=sr.ReadLine(); …… sw.WriteLine(str); …… 2. 发送或接收文件 可以使用FileStream流和网络流传送文件。 FileStream fs= new FileStream(filename,FileMode.Open,FileAccess.Read); //发送文件长度 sw.WriteLine(fs.Length.ToString()); sw.Flush(); listbox.Items.Add(发送:+fs.Length.ToString()+字节); for(int i=0;ifs.Length;i++) { netStream.WriteByte((byte)fs.ReadByte()); netStream.Flush(); } fs.Close(); 对于接收方,收到发送方传送的文件字节数后,再以 字节为单位顺序将网络流转换为文件流,并通过文件流保 存到文件中。 string str1=sr.ReadLine(); int length=Convert.ToInt32(str1); FileStream fs= new FileStream(myfile.FileName,FileMode.Create,FileAccess.Write); for(int i=0;ilength;i++) { fs.WriteByte((byte)netStream.ReadByte()); fs.Flush(); gressBar1.Value=i; } fs.Close(); ?服务器开发 对于服务器端,主要是解析客户端发送的命令,对文件和目录进行相应的操作,然后将操作结果返回给客户端。 下面通过具体例子说明服务器端开发方法。 【例12-1】FTP服务器开发。 1) 新建一个Windows应用程序FTPServer,设计界面如图12-1所示。 2) 添加名称空间引用。 using System.Net; using System.Net.Sockets; using System.Threading; using System.IO; 3) 添加字段声明。 TcpListener myListener; 4)

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档