鸿 网 互 联 www.68idc.cn

FileZillaFTP服务器源代码分析(1)

来源:互联网 作者:佚名 时间:2015-06-03 00:00
FileZilla FTP服务器源代码分析 FileZilla是一款免费而且开源的FTP工具 包括FileZilla Client FileZilla Server两个版本 FileZilla Server只提供了windows系统下的版本 我们要将本地的网站网页文件上传到网站服务器 或从服务器下载网页文件 只需FileZilla Cl
    FileZilla FTP服务器源代码分析FileZilla是一款免费而且开源的FTP工具包括FileZilla ClientFileZilla Server两个版本FileZilla Server只提供了windows系统下的版本我们要将本地的网站网页文件上传到网站服务器或从服务器下载网页文件只需FileZilla Client客户端版本就可以了FileZilla FTP服务器源代码分析
    FileZilla是开源的FTP服务器用C++写的通过分析它的源代码可以掌握C++网络编程以及高并发服务器的设计
    FileZilla是上的项目我们要研究的版本是FileZilla Server __其实FileZilla还包括客户端软件
    下载后安装安装时选择安装source即安装了源代码
    安装完成后可以直接打开工程自带的FileZilla serversln这个是vs 工程里面有三个project
    FZS Interface这个是FTP服务器的设置以及监控界面
    Service这个是核心的FTP服务器部分
    GFtp打不开不知是干什么用的老外也会如此马虎? :)
    直接编译是会出错主要是FileZilla需要依赖两个第三方包zlib(压缩算法包)以及regexp(正则表达式的包)
    先搞定zlib下载解开生成目录zlibnet 打开zlib\projects\visualc\zlibdsw
    打开 生成|配置管理器设置活动的解决方案配置为DLL Release编译生成项目zlib成功后会在目录Win_DLL_Release下生成zliblib和zlibdll
    然后regexp用到了boost第三方包这里面有很多公用的C++组件
    下载解开后在cmd下
    第一步需要编译bjm这是编译boost的编译器
    cd boost___\tools\build\jam_src
    buildbat
    在当前的binntx目录下生成了bjamexe文件
    第二步编译boost
    cd boost___
    将刚才生成的bjamexe拷过来
    set VC_ROOT=C:\Program Files\Microsoft Visual StudioNET \Vc
    bjam sTOOLS=vc install
    这个步骤需要很久时间其时我们只用了里面的regexp包应该可以只编译这个包但我没细研究
    编译完成后即在C盘根目录下生成了boost目录这个目录下面net工程要用到
    在net工程里工具|选项|项目|VC++目录添加
    可执行文件zlib\projects\visualc\Win_DLL_Release
    包含文件zlib目录以及c:\Boost\include\boost__
    库文件zlib\projects\visualc\Win_DLL_Release以及c:\Boost\lib
    这时FZS Interface工程应该可以编译成功了编译完成后会在Debug目录生成FileZilla Server Interfaceexe
    生成Service工程时需要调整一下工程设置
    语言设置打开工程属性页配置属性|常规选择字符集为使用 Unicode 字符集否则编译时会出错unicode必须使用
    链接设置打开工程属性页配置属性|链接器将输入zliblib改成zliblib(因为zlib工程生成的是zliblib)
    下面生成一下应该可以了在生成Service工程完成时已经自动安装了FileZilla Server FTP server服务也可以手工安装服务
    cd FileZilla_Server\Debug
    FileZilla serverexe install auto
    可以试一下这个FTP服务器了运行FileZilla_Server\interface\Debug\FileZilla Server Interfaceexe这是FTP服务器的配置监控程序试着加几个user设置home dir再用FTP客户端连接一下试试应该可以了
网友评论
<