那些你不熟悉的filezilla ftp服務(wù)器源代碼
發(fā)表時(shí)間:2023-07-21 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]FileZilla是開源的FTP服務(wù)器,用C++寫的,通過分析它的源代碼,可以掌握C++網(wǎng)絡(luò)編程以及高并發(fā)服務(wù)器的設(shè)計(jì)。今天小編就帶領(lǐng)大家一起來學(xué)習(xí)FileZillaFTP服務(wù)器源代碼分析,很多網(wǎng)友...
FileZilla是開源的FTP服務(wù)器,用C++寫的,通過分析它的源代碼,可以掌握C++網(wǎng)絡(luò)編程以及高并發(fā)服務(wù)器的設(shè)計(jì)。今天小編就帶領(lǐng)大家一起來學(xué)習(xí)FileZillaFTP服務(wù)器源代碼分析,很多網(wǎng)友可能會說這是程序員才應(yīng)該知道的吧,其實(shí)不然,你了解下,對你也沒壞處,也許某一天也用得到,你說呢?
下載后安裝,安裝時(shí)選擇安裝source,即安裝了源代碼。
安裝完成后,可以直接打開工程自帶的FileZilla server.sln,這個(gè)是vs 2003.net工程,里面有三個(gè)project,
FZS Interface:這個(gè)是FTP服務(wù)器的設(shè)置以及監(jiān)控界面
Service:這個(gè)是核心的FTP服務(wù)器部分
GFtp:打不開,不知是干什么用的,老外也會如此馬虎? :)
直接編譯是會出錯(cuò),主要是FileZilla需要依賴兩個(gè)第三方包:zlib(壓縮算法包)以及regexp(正則表達(dá)式的包)
先搞定zlib,下載、解開,生成目錄zlib123,用。net 2003打開zlib123\projects\visualc6\zlib.dsw
打開 生成 配置管理器,設(shè)置活動的解決方案配置為:DLL Release,編譯生成項(xiàng)目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
在當(dāng)前的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
這個(gè)步驟需要很久時(shí)間,其時(shí)我們只用了里面的regexp包,應(yīng)該可以只編譯這個(gè)包,但我沒細(xì)研究。
Windows Server 2003系列沿用了Windows 2000 Server的先進(jìn)技術(shù)并且使之更易于部署、管理和使用。