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

FileZilla 源代碼分析1

系統(tǒng) Linux
FileZilla是一個(gè)免費(fèi)開(kāi)源的FTP客戶端軟件,分為客戶端版本和服務(wù)器版本,具備所有的FTP軟件功能??煽匦?、有條理的界面和管理多站點(diǎn)的簡(jiǎn)化方式使得Filezilla客戶端版成為一個(gè)方便高效的FTP客戶端工具,而FileZilla Server則是一個(gè)小巧并且可靠的支持FTP&SFTP的FTP服務(wù)器軟件。

FileZilla是一種快速、可信賴的FTP客戶端以及服務(wù)器端開(kāi)放源代碼程式,具有多種特色、直覺(jué)的接口。本文就給大家分析下FileZilla的源代碼。

  FileZilla是開(kāi)源的FTP服務(wù)器,用C++寫(xiě)的,通過(guò)分析它的源代碼,可以掌握C++網(wǎng)絡(luò)編程以及高并發(fā)服務(wù)器的設(shè)計(jì)。

  FileZilla是http://sourceforge.net上的項(xiàng)目,主頁(yè)是http://sourceforge.net/projects/filezilla,我們要研究的版本是:FileZilla Server 0_9_18,其實(shí)FileZilla還包括客戶端軟件。

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

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

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

  Service:這個(gè)是核心的FTP服務(wù)器部分

  GFtp:打不開(kāi),不知是干什么用的,老外也會(huì)如此馬虎? :)

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

  先搞定zlib,下載http://www.winimage.com/zLibDll/zlib123.zip

  解開(kāi),生成目錄zlib123,用.net 2003打開(kāi)zlib123\projects\visualc6\zlib.dsw

  打開(kāi) 生成|配置管理器,設(shè)置活動(dòng)的解決方案配置為:DLL Release,編譯生成項(xiàng)目zlib,成功后會(huì)在目錄Win32_DLL_Release下生成zlib1.lib和zlib1.dll

  然后,regexp用到了boost第三方包,這里面有很多公用的C++組件,下載地址:

  http://internap.dl.sourceforge.net/sourceforge/boost/boost_1_33_1.zip

  解開(kāi)后,在cmd下,

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

  cd boost_1_33_1\tools\build\jam_src

  build.bat

  在當(dāng)前的bin.ntx86目錄下,生成了bjam.exe文件。

  第二步:編譯boost

  cd boost_1_33_1

  將剛才生成的bjam.exe拷過(guò)來(lái)

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

  bjam "-sTOOLS=vc7" install

  這個(gè)步驟需要很久時(shí)間,其時(shí)我們只用了里面的regexp包,應(yīng)該可以只編譯這個(gè)包,但我沒(méi)細(xì)研究。

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

  在.net工程里,工具|選項(xiàng)|項(xiàng)目|VC++目錄,添加

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

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

  庫(kù)文件:zlib123\projects\visualc6\Win32_DLL_Release以及c:\Boost\lib

  這時(shí)FZS Interface工程應(yīng)該可以編譯成功了,編譯完成后會(huì)在Debug目錄生成FileZilla Server Interface.exe。

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

  語(yǔ)言設(shè)置:打開(kāi)工程屬性頁(yè),配置屬性|常規(guī),選擇字符集為“使用 Unicode 字符集”,否則編譯時(shí)會(huì)出錯(cuò)unicode必須使用;

  鏈接設(shè)置:打開(kāi)工程屬性頁(yè),配置屬性|鏈接器,將輸入zlib.lib改成zlib1.lib(因?yàn)閦lib123工程生成的是zlib1.lib)

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

  cd FileZilla_Server\Debug

  "FileZilla server.exe" install auto

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

通過(guò)文章完整的描述,大家應(yīng)該知道了FileZilla 源代碼,希望對(duì)大家有幫助!

【編輯推薦】

  1. FileZilla簡(jiǎn)單介紹
  2. FileZilla:免費(fèi)的服務(wù)器軟件
  3. FileZilla 3.3.1.0新版升級(jí) 修復(fù)bug
  4. FileZilla FTP 客戶端硬編碼的密碼索引關(guān)鍵漏洞
  5. FileZilla Server
責(zé)任編輯:趙鵬 來(lái)源: 網(wǎng)絡(luò)轉(zhuǎn)載
相關(guān)推薦

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:16:43

FileZilla

2011-02-23 14:39:27

FileZilla

2011-03-01 16:01:08

FileZilla

2011-03-01 16:25:37

FileZilla

2011-03-01 16:32:58

FileZilla

2011-03-01 16:19:27

FileZilla

2018-05-25 14:16:55

NFS源代碼線程

2015-08-28 09:38:51

Linux源代碼分析工具

2015-08-26 17:38:47

Linux源代碼

2009-07-02 13:59:35

JSP后臺(tái)

2011-08-24 15:42:38

LUA源代碼

2020-02-24 09:25:33

代碼開(kāi)發(fā)工具

2021-10-01 12:17:30

Facebook開(kāi)源工具Mariana Tre
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)