2024年5月1日发(作者:)

FileZilla是一款免费而且开源的FTP工具。。

FileZilla是开源的文件传输协议服务器,用C++写的,通过分析它的源代码,可以掌握C++网络编程以及

高并发服务器的设计。

FileZilla是上的项目,我们要研究的版本是:FileZilla Server 0_9_18,其实FileZilla

还包括客户端软件。

下载后安装,安装时选择安装source,即安装了源代码。

安装完成后,可以直接打开工程自带的FileZilla ,这个是vs 工程,里面有三个project,

FZS Interface:这个是文件传输协议服务器的设置以及监控界面Service:这个是核心的文件传输协议服务器

部分G文件传输协议:打不开,不知是干什么用的,老外也会如此马虎? :)

直接编译是会出错,主要是FileZilla需要依赖两个第三方包:zlib(压缩算法包)以及regexp(正则表达

式的包)

先搞定zlib,下载、解开,生成目录zlib123,用。net 2003打开

打开 生成|配置管理器,设置活动的解决方案配置为:DLL Release,编译生成项目zlib,成功后会在目录

Win32_DLL_Release下生成和

然后,regexp用到了boost第三方包,这里面有很多公用的C++组件。

下载、解开后,在cmd下,

第一步:需要编译bjm,这是编译boost的编译器,晕

cd boost_1_33_1toolsbuildjam_src

在当前的86目录下,生成了文件。

第二步:编译boost

cd boost_1_33_1

将刚才生成的拷过来

set VC7_ROOT="C:Program FilesMicrosoft Visual 2003Vc7"

bjam "-sTOOLS=vc7" install

这个步骤需要很久时间,其时我们只用了里面的regexp包,应该可以只编译这个包,但我没细研究。

编译完成后即在C盘根目录下生成了boost目录,这个目录下面。net工程要用到。

在。net工程里,工具|选项|项目|VC++目录,添加

可执行文件:zlib123projectsvisualc6Win32_DLL_Release

包含文件:zlib123目录以及c:Boostincludeboost-1_33_1

库文件:zlib123projectsvisualc6Win32_DLL_Release以及c:Boostlib