自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

FileZilla FTP服務器源代碼分析(1)

系統(tǒng) Windows
FileZilla FTP服務器源代碼分析:FileZilla是一款免費而且開源的FTP工具。包括FileZilla Client,F(xiàn)ileZilla Server兩個版本。FileZilla Server只提供了windows系統(tǒng)下的版本,我們要將本地的網(wǎng)站網(wǎng)頁文件上傳到網(wǎng)站服務器,或從服務器下載網(wǎng)頁文件,只需FileZilla Client客戶端版本就可以了。FileZilla FTP服務器源代碼分析

FileZilla FTP服務器源代碼分析:FileZilla是一款免費而且開源的FTP工具。包括FileZilla Client,F(xiàn)ileZilla Server兩個版本。FileZilla Server只提供了windows系統(tǒng)下的版本,我們要將本地的網(wǎng)站網(wǎng)頁文件上傳到網(wǎng)站服務器,或從服務器下載網(wǎng)頁文件,只需FileZilla Client客戶端版本就可以了。FileZilla FTP服務器源代碼分析

  FileZilla是開源的FTP服務器,用C++寫的,通過分析它的源代碼,可以掌握C++網(wǎng)絡編程以及高并發(fā)服務器的設計。

  FileZilla是http://sourceforge.net上的項目,我們要研究的版本是:FileZilla Server 0_9_18,其實FileZilla還包括客戶端軟件。

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

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

  FZS Interface:這個是FTP服務器的設置以及監(jiān)控界面

  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包,應該可以只編譯這個包,但我沒細研究。

  編譯完成后即在C盤根目錄下生成了boost目錄,這個目錄下面.net工程要用到。

  在.net工程里,工具|選項|項目|VC++目錄,添加

  可執(zhí)行文件:zlib123\projects\visualc6\Win32_DLL_Release

  包含文件:zlib123目錄以及c:\Boost\include\boost-1_33_1

  庫文件:zlib123\projects\visualc6\Win32_DLL_Release以及c:\Boost\lib

  這時FZS Interface工程應該可以編譯成功了,編譯完成后會在Debug目錄生成FileZilla Server Interface.exe。

  生成Service工程時,需要調(diào)整一下工程設置:

  語言設置:打開工程屬性頁,配置屬性|常規(guī),選擇字符集為“使用 Unicode 字符集”,否則編譯時會出錯unicode必須使用;

  鏈接設置:打開工程屬性頁,配置屬性|鏈接器,將輸入zlib.lib改成zlib1.lib(因為zlib123工程生成的是zlib1.lib)

  下面生成一下,應該可以了。在生成Service工程完成時已經(jīng)自動安裝了"FileZilla Server FTP server"服務,也可以手工安裝服務:

  cd FileZilla_Server\Debug

  "FileZilla server.exe" install auto

  可以試一下這個FTP服務器了,運行FileZilla_Server\interface\Debug\FileZilla Server Interface.exe,這是FTP服務器的配置監(jiān)控程序,試著加幾個user,設置home dir,再用FTP客戶端連接一下試試,應該可以了。

【編輯推薦】

  1. FileZilla Server
  2. FileZilla FTP 客戶端硬編碼的密碼索引關鍵漏洞
  3. FileZilla 3.3.1.0新版升級 修復bug
  4. FileZilla:免費的服務器軟件
  5. FileZilla簡單介紹
責任編輯:zhaolei 來源: CSDN網(wǎng)
相關推薦

2011-03-01 16:25:37

FileZilla

2011-03-01 16:32:58

FileZilla

2011-03-01 16:19:27

FileZilla

2011-02-23 13:47:33

FileZilla

2011-03-07 13:36:16

2011-02-23 14:26:28

FileZilla

2011-02-23 15:26:01

FileZilla

2011-02-23 15:33:42

FileZilla

2011-02-23 15:11:27

FileZilla

2011-02-23 15:21:06

FileZilla

2011-02-23 14:54:58

FileZilla

2011-02-23 14:46:21

FileZilla

2011-02-23 14:39:27

FileZilla

2011-02-23 14:16:43

FileZilla

2021-11-01 07:15:36

服務器FTPFileZilla

2011-01-11 13:12:48

FileZill服務器軟件FTP工具

2011-03-02 09:00:26

2010-07-01 14:22:02

配置FTP服務器

2011-03-07 17:04:02

ProftpdFTP

2019-02-26 16:20:52

FTP服務器
點贊
收藏

51CTO技術棧公眾號