系统小窝欢迎您

电脑公司 深度技术
当前位置:系统小窝 > 系统教程 > Windows服务器教程 >

那些你不熟悉的filezilla ftp服务器源代码

时间:2021-04-11 来源:般砖的 人气:

FileZilla是开源的FTP服务器,用C++写的,通过分析它的源代码,可以掌握C++网络编程以及高并发服务器的设计。今天小编就带领大家一起来学习FileZillaFTP服务器源代码分析,很多网友可能会说这是程序员才应该知道的吧,其实不然,你了解下,对你也没坏处,也许某一天也用得到,你说呢?

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

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

FZS Interface:这个是FTP服务器的设置以及监控界面

Service:这个是核心的FTP服务器部分

GFtp:打不开,不知是干什么用的,老外也会如此马虎? :)

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

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

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

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

下载、解开后,在cmd下,

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

cd boost_1_33_1 oolsuildjam_src

build.bat

在当前的bin.ntx86目录下,生成了bjam.exe文件。

第二步:编译boost

cd boost_1_33_1

将刚才生成的bjam.exe拷过来

set VC7_ROOT=;C:Program FilesMicrosoft Visual Studio.NET 2003Vc7;

bjam ;-sTOOLS=vc7; install

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

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

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

可执行文件:zlib123projects isualc6Win32_DLL_Release

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

库文件:zlib123projects isualc6Win32_DLL_Release以及c:Boostlib

这时FZS Interface工程应该可以编译成功了,编译完成后会在Debug目录生成FileZilla Server Interface.exe。

生成Service工程时,需要调整一下工程设置:

语言设置:打开工程属性页,配置属性|常规,选择字符集为;使用 Unicode 字符集;,否则编译时会出错unicode必须使用;

链接设置:打开工程属性页,配置属性|链接器,将输入zlib.lib改成zlib1.lib(因为zlib123工程生成的是zlib1.lib)

下面生成一下,应该可以了。在生成Service工程完成时已经自动安装了;FileZilla Server FTP server;服务,也可以手工安装服务:

cd FileZilla_ServerDebug

;FileZilla server.exe; install auto

可以试一下这个FTP服务器了,运行FileZilla_ServerinterfaceDebugFileZilla Server Interface.exe,这是FTP服务器的配置监控程序,试着加几个user,设置home dir,再用FTP客户端连接一下试试,应该可以了。

相关文章

发表评论

验证码: 看不清?点击更换

注:网友评论仅供其表达个人看法,并不代表本站立场。

Windows服务器教程排行榜

更多>>

Linux系统排行榜

更多>>

系统教程排行榜

更多>>