当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 一个FTP客户端的C#代码

ASP.NET
.Net技术开发中两个“属性”引起的歧异
技术文档:解读.Net虚拟框架的实现原理
.Net课堂:总结必须学习的10项.NET技术
实现MSMQ消息加密的安全实践
C#中对DatagridView的部分常用操作
.Net基础:了解ASP.NET中的IFRAME框架挂马
ASP.NET中显示Linq To SQL输出的SQL语句
链表的顺序表示和实现(C++模板类实现)
如何在ASP.NET项目里面正确使用Linq to Sql
ASP.NET两个截取字符串的实用方法技巧
一个简单程序的反编译
ASP.NET MVC中你必须知道的13个扩展点
Entity Framework的默认值BUG解决方法
C#中通过Assembly类访问程序集信息
Java与.NET间进行Web Service交互的选择
C#中用鼠标移动页面功能的实现
程序员的信仰
ASP.NET多附件上传和附件编辑的实现
菜鸟课堂:在Visual C# .NET中跟踪和调试
IronPython和C#执行速度对比

ASP.NET 中的 一个FTP客户端的C#代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 128 ::
收藏到网摘: n/a

using System;
using System.Net;
using System.IO;
using System.Text;
using System.Net.Sockets;

namespace zhangyuk.net.csdn.blog.ftpclient
{
 /// <summary>
 /// FTP Client
 /// </summary>
 public class FTPClient
 {
  #region 构造函数
  /// <summary>
  /// 缺省构造函数
  /// </summary>
  public FTPClient()
  {
   strRemoteHost  = "";
   strRemotePath  = "";
   strRemoteUser  = "";
   strRemotePass  = "";
   strRemotePort  = 21;
   bConnected     = false;
  }

  /// <summary>
  /// 构造函数
  /// </summary>
  /// <param name="remoteHost"></param>
  /// <param name="remotePath"></param>
  /// <param name="remoteUser"></param>
  /// <param name="remotePass"></param>
  /// <param name="remotePort"></param>
  public FTPClient( string remoteHost, string remotePath, string remoteUser, string remotePass, int remotePort )
  {
   strRemoteHost  = remoteHost;
   strRemotePath  = remotePath;
   strRemoteUser  = remoteUser;
   strRemotePass  = remotePass;
   strRemotePort  = remotePort;
   Connect();
  }
  #endregion

  #region 登陆
  /// <summary>
  /// FTP服务器IP地址
  /// </summary>
  private string strRemoteHost;
  public string RemoteHost
  {
   get
   {
    return strRemoteHost;
   }
   set
   {
    strRemoteHost = value;
   }
  }
  /// <summary>
  /// FTP服务器端口
  /// </summary>
  private int strRemotePort;
  public int RemotePort
  {
   get
   {
    return strRemotePort;
   }
   set
   {
    strRemotePort = value;
   }
  }
  /// <summary>
  /// 当前服务器目录
  /// </summary>
  private string strRemotePath;
  public string RemotePath
  {
   get
   {
    return strRemotePath;
   }
   set
   {
    strRemotePath = value;
   }
  }
  /// <summary>
  /// 登录用户账号
  /// </summary>
  private string strRemoteUser;
  public string RemoteUser
  {
   set
   {
    strRemoteUser = value;
   }
  }
  /// <summary>
  /// 用户登录密码
  /// </summary>
  private string strRemotePass;
  public string RemotePass
  {
   set
   {
    strRemotePass = value;
   }
  }

  /// <summary>
  /// 是否登录
  /// </summary>
  private Boolean bConnected;
  public bool Connected
  {
   get
   {
    return bConnected;
   }
  }
  #endregion

  #region 链接
  /// <summary>
  /// 建立连接
  /// </summary>
  public void Connect()
  {
   socketControl = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
   IPEndPoint ep = new IPEndPoint(IPAddress.Parse(RemoteHost), strRemotePort);
   // 链接
   try
   {
    socketControl.Connect(ep);