网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > ASP.NET类别 > 正文

C#编写的FTP客户端程序

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

本文主要为广大网友提供“C#编写的FTP客户端程序”,希望对需要C#编写的FTP客户端程序网友有所帮助,学习一下!

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

 

4.3.3    文件传输的程序实现
先进行判断是否与主机连接成功,获取要下载的文件名、保存到本机的路径、保存到本机时的文件名。在进行设置传输模式:二进制Binary传输或ACSII传输,在创建数据连接发送PASV被动模式进行传输然后对应答命令进行判断。最后进行数据传输以流方式传输。其主要代码程序如下:
        public void Get(string strRemoteFileName,string strFolder,string strLocalFileName)
        {
            if(!bConnected)
            {
                Connect();
            }
            SetTransferType(TransferType.Binary);
            if (strLocalFileName.Equals(""))
            {
                strLocalFileName = strRemoteFileName;
            }
            if(!File.Exists(strLocalFileName))
            {
                Stream st = File.Create(strLocalFileName);
                st.Close();
            }
            FileStream output = new
                FileStream(strFolder + "\\" + strLocalFileName,FileMode.Create);
            Socket socketData = CreateDataSocket();
            SendCommand("RETR " + strRemoteFileName);
            if(!(iReplyCode == 150 || iReplyCode == 125
                || iReplyCode == 226 || iReplyCode == 250))
            {
                throw new IOException(strReply.Substring(4));
            }
            while(true)
            {
                int iBytes = socketData.Receive(buffer, buffer.Length, 0);
                output.Write(buffer,0,iBytes);
                if(iBytes <= 0)
                {
                    break;
                }
            }
            output.Close();
            if (socketData.Connected)
            {
                socketData.Close();
            }
            if(!(iReplyCode == 226 || iReplyCode == 250))
            {
                ReadReply();
                if(!(iReplyCode == 226 || iReplyCode == 250))
                {
                    throw new IOException(strReply.Substring(4));
                }
            }
        }
4.3.4    辅助功能的程序实现
当需要返回上级目录时,先检查当前目录字符串是否小于3,如果小于了3则表示已经是跟目录了,不能在返回上级目录了。其他情况直接用Substring来去掉最后一个目录。具体办法是每次取字符串从0到最后一个“\\”。然后把该字符串赋值给ComboBox。程序代码如下:其主要代码程序如下:
        private void but_Fa_Click(object sender, System.EventArgs e)
        {//返回上级目录
            string path=this.comboBox1.Text;
            string newpath;
            if(path.EndsWith("\\"))
            {
                if(path.Length<=3)
                {
                    MessageBox.Show("根目录了!","系统提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
                    return;
                }
                newpath=path.Substring(0,path.LastIndexOf("\\"));
                this.comboBox1.Text=newpath.Substring(0,newpath.LastIndexOf("\\"));
            }
            else
            {
                if(path.LastIndexOf("\\")!=2)
                {
                    newpath=path.Substring(0,path.LastIndexOf("\\"));
                    this.comboBox1.Text=newpath;
                }
                else
                {
                    newpath=path.Substring(0,path.LastIndexOf("\\")+1);
                    this.comboBox1.Text=newpath;
                    return;
                }
            }
        }
当在第一次登录主机时,为方便以后在次登录该主机则需要保存其登录信息。先把所有的输入框中的值赋给有代表意思的字符串。如果主机别名为空则主机别名与主机地址相同。
然后通过IniWriteValue方法来写入mfftp.ini文件中,其主要代码程序如下:
        private void but_Ok_Click(object sender, System.EventArgs e)
        {//添加登录主机信息
            string hostname=this.text_Name.Text.Trim();
            string hostip=this.text_SerIp.Text.Trim();
            string loginname=this.loginName.Text.Trim();
            string loginpwd=this.login_Pwd.Text.Trim();
            string mydir=this.text_add.Text.Trim();
            if(hostname=="")
            {
                hostname=hostip;
            }
            IniFile inf=new IniFile();
            inf.path=".\\mfftp.ini";   
            int i=Convert.ToInt32(inf.IniReadValue("MFFTP_Options","HostNum"));
            //string serAdd=inf.IniReadValue("MFFTP_OptionsHost0","HostIp");
            string ServerName= "MFFTP_OptionsHost"+i;
            inf.IniWriteValue(ServerName,"HostName",hostname);
            inf.IniWriteValue(ServerName,"HostIp",hostip);
            inf.IniWriteValue(ServerName,"LoginName",loginname);
            inf.IniWriteValue(ServerName,"LoginPwd",loginpwd);
            inf.IniWriteValue(ServerName,"MyDir",mydir);
            i=i+1;
            inf.IniWriteValue("MFFTP_Options","HostNum",i.ToString());
            this.standm.sername(hostname);
            this.Close();
        }  
5             软件测试
5.1 测试前分析
FTP软件测试,从详细设计来看,分4部分进行测试:首先必须连接到某网络,在网络连接成功后,进行第一步测试连接测试,在输入IP地址和登录名和密码后能成功连接到主机;第二步对文件操作测试,能新建文件、删除文件等操作;第三步在于服务器连接成功后测试上传和下载操作,第四步检测文件在选择目录后能显示根据路径来显示此路径下所有文件和信息保存入INI文件。
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

  • 上一篇资讯: VB医院信息管理系统
  • 下一篇资讯: 基于C#聊天软件的设计
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师