edtFTPnet
http://www.enterprisedt.com/products/edtftpnet/
edtFTPnet 是由 Enterprise Distributed Technologies 公司开发的一个 FTP 客户端组件,功能完善、文档齐全,并且项目使用了测试驱动开发(从源码看出)。这也是我选择它的主要原因。特点有:
支持主动模式(PORT)和被动模式(PASV)
支持二进制传输被中断后续传
支持通过事件监视传输进度
edtFTPnet不支持 SOCKS 代理和 FTPS,这两个功能在该公司的 edtFTPnet/PRO 产品中支持。
FTP Component
http://www.codeproject.com/dotnet/dotnetftp.asp
FTP Component 是由 Alex Kwok 开发的,除了不支持主动(PORT)模式外,其他功能跟上面的 edtFTPnet 差不多,组件的代码组织还可以,看起来很好用。我没有使用它的原因就是:用它上传文件没有问题,下载却总是找不到文件,跟踪了一下大概是在 list 命令那里出毛病。基于时间紧迫和本人是网络编程白痴,所以没有时间去慢慢研究。
FtpClient
http://www.sunmast.com/soft/ftpclient.zip
FtpClient 组件是 Sunmast 兄弟很久以前(大学)写的,他说 bug 不少,我听了怕怕的。这个组件是第一个被我开刀的,大问题没有,就是不支持传输进度的事件跟踪,基于时间问题,所以就放弃了。Sunmast 说不打算更新该组件了,因为 .NET 2.0 已经支持 FTP 了。打开Visual Studio .NET 2005 的类库文档一看,在 System.Net 下果然多了 FtpWebRequest 和 FtpWebResponse 两个类,还有一个 FtpStatusCode 枚举。当时有一股冲动想用 Reflector 把 .NET 2.0 中的这三个类移植到 .NET 1.1 下,可是打开一看,一大堆看不懂,所以就没有“搞破坏”了。有兴趣的朋友可以试一试,记得搞定后把结果发给我就是啦。
.NET FTP Client
http://sourceforge.net/projects/dotnetftpclient/http://sourceforge.net/projects/dotnetftpclient/
这个是在 SourceForge 找到的,功能设计地比较简单,代码连注释都没有,干干净净地,狂晕。
==========================================
其他的我没有用过,所以就不介绍了,最后一个是 FTP 服务器,不是 FTP 客户端。大家可以自己试一试,好用记得告诉我哦。
FTP.NET
http://sourceforge.net/projects/ftpnet/
Multi-threaded FTP Program written in C#
Ftp4net
http://sourceforge.net/projects/ftp4net/
Ftp4net is a C# class for communication with FTP Server, which conforms to the RFC 959 (FTP). It\'s an API that handles all FTP protocol commands. This class is designed for creating FTP Client software with .NET
Ftp Dot Net
http://sourceforge.net/projects/ftpcs/
Ftp Dot Net is a Ftp Server written in C#. It runs on Windows 2000/XP/2003 and Framework 1.1. It provide windows / Active Directory / NTFS authentication and permissions, Isolated ftp roots and Virtual Paths.