ftp開發組件

來源:互聯網
上載者:User
最近有個項目需要支援 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.
  
  我要說的就這麼多了,剩下的你們來寫吧!
  
  黎波

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.