⑴FileZilla是开源的FTP服务器,用C++写的,通过分析它的源代码,可以掌握C++网络编程以及高并发服务器的设计。今天小编就带领大家一起来学习FileZillaFTP服务器源代码分析,很多网友可能会说这是程序员才应该知道的吧,其实不然,你了解下,对你也没坏处,也许某一天也用得到,你说呢?
⑵下载后安装,安装时选择安装source,即安装了源代码。
⑶安装完成后,可以直接打开工程自带的FileZilla server.sln,这个是vs .工程,里面有三个project,
⑷FZS Interface:这个是FTP服务器的设置以及监控界面
⑸Service:这个是核心的FTP服务器部分
⑹GFtp:打不开,不知是干什么用的,老外也会如此马虎? :)
⑺直接编译是会出错,主要是FileZilla需要依赖两个第三方包:zlib(压缩算法包)以及regexp(正则表达式的包)
⑻先搞定zlib,下载、解开,生成目录zlib,用。 打开zlibprojectsvisualczlib.dsw
⑼打开 生成|配置管理器,设置活动的解决方案配置为:DLL Release,编译生成项目zlib,成功后会在目录Win_DLL_Release下生成zlib.lib和zlib.dll
⑽然后,regexp用到了boost第三方包,这里面有很多公用的C++组件。
⑾下载、解开后,在cmd下,
⑿第一步:需要编译bjm,这是编译boost的编译器,晕
⒀cd boost___ oolsbuildjam_src
⒁build.bat
⒂在当前的bin.ntx目录下,生成了bjam.exe文件。
⒃第二步:编译boost
⒄cd boost___
⒅将刚才生成的bjam.exe拷过来
⒆set VC_ROOT="C:Program FilesMicrosoft Visual Studio. Vc"
⒇bjam "-sTOOLS=vc" install
⒈这个步骤需要很久时间,其时我们只用了里面的regexp包,应该可以只编译这个包,但我没细研究。