萬盛學電腦網

 萬盛學電腦網 >> windows 2003教程 >> 那些你不熟悉的filezilla ftp服務器源代碼

那些你不熟悉的filezilla ftp服務器源代碼

  FileZilla是開源的FTP服務器,用C++寫的,通過分析它的源代碼,可以掌握C++網絡編程以及高並發服務器的設計。今天小編就帶領大家一起來學習FileZillaFTP服務器源代碼分析,很多網友可能會說這是程序員才應該知道的吧,其實不然,你了解下,對你也沒壞處,也許某一天也用得到,你說呢?

  下載後安裝,安裝時選擇安裝source,即安裝了源代碼。

  安裝完成後,可以直接打開工程自帶的FileZilla server.sln,這個是vs 2003.net工程,裡面有三個project,

  FZS Interface:這個是FTP服務器的設置以及監控界面

  Service:這個是核心的FTP服務器部分

  GFtp:打不開,不知是干什麼用的,老外也會如此馬虎? :)

  直接編譯是會出錯,主要是FileZilla需要依賴兩個第三方包:zlib(壓縮算法包)以及regexp(正則表達式的包)

  先搞定zlib,下載、解開,生成目錄zlib123,用。net 2003打開zlib123\projects\visualc6\zlib.dsw

  打開 生成|配置管理器,設置活動的解決方案配置為:DLL Release,編譯生成項目zlib,成功後會在目錄Win32_DLL_Release下生成zlib1.lib和zlib1.dll

  然後,regexp用到了boost第三方包,這裡面有很多公用的C++組件。

  下載、解開後,在cmd下,

  第一步:需要編譯bjm,這是編譯boost的編譯器,暈

  cd boost_1_33_1\tools\build\jam_src

  build.bat

  在當前的bin.ntx86目錄下,生成了bjam.exe文件。

  第二步:編譯boost

  cd boost_1_33_1

  將剛才生成的bjam.exe拷過來

  set VC7_ROOT="C:\Program Files\Microsoft Visual Studio.NET 2003\Vc7"

  bjam "-sTOOLS=vc7" install

  這個步驟需要很久時間,其時我們只用了裡面的regexp包,應該可以只編譯這個包,但我沒細研究。 上一頁12下一頁共2頁

copyright © 萬盛學電腦網 all rights reserved