设为首页 收藏本站
查看: 923|回复: 0

ftp开发组件

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-28 10:51:43 | 显示全部楼层 |阅读模式
最近有个项目需要支持 FTP 访问,但是 .NET 1.1 的 FCL 中没有提供相关的类,所以只好自己开发一个 FTP 客户端组件了。不过,我是一个懒惰型的程序员,当然不会一拿到需求就埋头苦干啦,呵~现在 Internet 如此发达,到处充满了有用的信息,到处充满了无限的商机,到处充满了可以利用的资源,到处充满了恐龙-_-! 男士们小心哦,嘻~
  话归正题,我建议在自己开发一个 FTP 客户端组件或在使用一些开源的 FTP 客户端组件之前,先补充一下 FTP 协议相关的基础知识,这有会对你掌握 FTP 客户端组件的工作原理很有帮助。下面推荐几篇网上的文章,一般只要看完前三篇就行了:
  l 浅析FTP的工作原理
  l 文件传输协议(File Transfer Protocol, FTP)
  l FTP命令详解
  l FTP协议的分析和扩展
   我在开发 FTP 客户端组件的过程中,参考了好几个开源项目,其实它们的工作原理一样的,只是看作者的设计如何,最终的效果主要表现在易用性、稳定性、可扩展性和兼容性上。
edtFTPnet
http://www.enterprisedt.com/products/edtftpnet/
  edtFTPnet 是由 Enterprise Distributed Technologies 公司开发的一个 FTP 客户端组件,功能完善、文档齐全,并且项目使用了测试驱动开发(从源码看出)。这也是我选择它的主要原因。特点有:
  l 支持主动模式(PORT)和被动模式(PASV)
  l 支持二进制传输被中断后续传
  l 支持通过事件监视传输进度
  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 客户端。大家可以自己试一试,好用记得告诉我哦。
http://sourceforge.net/projects/ftpnet/
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.
  
  我要说的就这么多了,剩下的你们来写吧!
  
  黎波

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-71434-1-1.html 上篇帖子: 免费ftp服务器FileZilla Server配置 下篇帖子: 连接ftp时出现Entering Passive Mode是怎么回事解决办法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表