开源一款ftp软件——filezilla
filezilla是一款高性能ftp/sftp文件工具,关于它的具体的介绍可参见其官网:https://www.filezilla.cn/。其原作者是Tim Kosse (tim.kosse@filezilla-project.org)。
大概10年前我从校园网ftp资源时无意中接触到这款软件的客户端之后,其强大的功能和流畅的性能让我一直使用至今。即使在今天,我的开发环境已经换成Linux,我仍然使用它在windows与linux服务器目录互传文件资源,另外像qq这些即时通讯软件不支持大于4G的文件传输,filezilla也能够支持的。
原作者的开发环境使用的是跨平台交叉编译的,对于我这种习惯使用Visual Studio开发windows程序的人来说,实在不方便;而直接下载的filezilla server也无法直接编译,经过我的修改也能使用VS进行编译和调试。
软件界面如下:
客户端:
服务器端包括,两个程序,一个是以windows服务形式运行的filezillaserver,另外一个是对服务器端连接的用户账号、共享目录等信息进行控制的filezillaserverinterface:
代码下载地址:https://github.com/baloonwj/filezilla
编译方法:
编译filezilla客户端用VS2013打开filezillaclient\clien\src\FileZilla.sln编译即可。
编译filezillaserver用VS2015打开filezillaserver\filezillaserver\filezillaserver.sln编译即可。
编译filezillaserverinterface用VS2015打开filezillaserverinterface\filezillaserver\filezillaserverinterface.sln编译即可。
注意: 客户端使用C++11开发,而之所以服务器端的filezillaserver和filezillaserver选择使用较新的VS2015,是因为服务器端的代码使用了c++14的一些特性,而VS2013是不支持C++14的所有的特性的。
客户端代码,使用了很多第三方库,比如界面库wxWidgets、zlib、sqlite等。
而项目中的CAsyncSocketEx模仿了mfc的CAsyncSocket,但是效率比mfc的CAsyncSocket要高。这个类可以直接拿到其它项目中使用的,比如电驴的源码就是直接使用了这个类。整个项目很有特色的地方是在支线程中使用windows的消息队列来代替传统的自定义消息队列。同时也是对ftp协议的实现。整个项目的代码质量也比较高。
如果您有什么问题,可以给我留言:906106643,或者加入我们的讨论群:49114021。
开源一款ftp软件——filezilla的更多相关文章
- FTP软件Filezilla出现“读取目录列表失败”的解决办法
FTP软件Filezilla出现“读取目录列表失败”情况一般出现在vista/win7系统上,之前在xp上没发现这种情况. 总的来说,不论是打开FTP出现乱码或者显示“读取目录列表失败”均是由字符集引 ...
- FTP软件FileZilla 3.38.1下载
FTP软件FileZilla 3.38.1下载 filezilla软件简介 FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能,具备极好的可控性及条理性 ...
- 开源FTP软件FileZilla使用介绍
简介 FileZilla是一个优秀的开源FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能,如果想自己搭建FTP服务器,FileZilla是一个好选择. 下载 FileZilla有一个中 ...
- 开源一款资源分享与下载工具 —— 电驴(eMule)
这里分享一款资源分享与下载工具--电驴,其实严格来说,应该叫电骡,这是我维护的版本,eMuleVeryCD版本,VeryCD是一个不错的资源分享网站:http://www.verycd.com/.大概 ...
- 【转】免费开源的FTP软件,FileZilla
原文网址:http://baike.baidu.com/view/670329.htm?fr=aladdin FileZilla FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版 ...
- Facebook 开源三款图像识别人工智能软件
Facebook今天开源了三款人工智能图像分割(Image Segmentation)软件,分别是DeepMask.SharpMask和MultiPathNet,三款工具相互配合完成一个完整的图像识别 ...
- 好用的 FTP 软件之 FileZilla 技巧教程
FTP 软件之 FileZilla教程 使用教程参考:http://163.26.161.1/~yilinteacher/wwwict/flash/FileZilla.swf (1)如何设置传输完成后 ...
- 免费ftp服务器FileZilla Server配置
FileZilla Server下载安装完成后,必须启动软件进行设置,由于此软件是英文,本来就是一款陌生的软件,再加上英文,配置难度可想而知,小编从网上找到一篇非常详细的教程进行整理了一番,确保读到这 ...
- 分享一些免费的,开源的邮件server软件
因为企业的须要,我们非常可能须要架设一个邮件server,微软的Exchange太复杂?GOOGLE出来的又收费!头大了吧,OK,贾芸斐在这里给大家分享推荐几个免费的开源的邮件server软件.希望你 ...
随机推荐
- Linux系统调用怎么和内核或底层驱动交互的
学习Linux系统下驱动程序开发已有大半年时间,心中一直有个疑惑:那就是诸如open.write.read等系统调用是怎么和内核或底层驱动建立起联系的呢?今天将自己的一些粗略的理解总结如下. ...
- Socket 是嘛玩意儿(简单聊聊)
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 建立网络通信连接至少要一对端口号(socket).socket本质是编程接口(API),对TCP/IP的封装 ...
- 重新想,重新看——CSS3变形,过渡与动画②
本篇文章主要用来归纳总结CSS3变形属性. CSS3变形属性大致可以分为以下三个部分: 变形控制属性 2D变形函数 3D变形函数 下面将对其一一进行分析: 1.变形控制属性 所谓的变形控制属性主要指“ ...
- HBase相关问题
HBase和Hive的异同之处? 共同点:HBase与Hive都是架构在Hadoop之上,底层存储都是使用HDFS 区别: 1). Hive是建立在Hadoop之上为了减少MapReduce jobs ...
- sbt安装与配置
下载地址:http://www.scala-sbt.org/download.html 当前版本:sbt-0.13.13.tgz 安装 1.解压并赋予权限 [root@hidden util]# ta ...
- 推荐一个JavaScript触发器插件,可通过指定频次、指定时间内触发指定的处理函数
推荐一个JavaScript触发器插件js-trigger js-trigger是一个JavaScript触发器插件,可通过指定频次.指定时间内触发指定的处理函数 https://tanwei-cc. ...
- MATLAB 图形图像处理
theme: MATLAB author: pprp date: 2018/2/2 --- MATLAB 图形图像处理 二维绘图命令 plot 线性空间 plot(t,[x1,x2,x3]) : 在同 ...
- 07_ZkClient提供的API使用
1. ZkClient API简介 zkclient是Github上一个开源的ZooKeeper客户端,在原生ZooKeeper API接口上进行包装,同时在内部实现了session超时重连,Watc ...
- R语言系列:自定义function
在用R语言做各种事物时,用户自定义函数是不可或缺的.这期来讲讲如何自定义R的function.首先要介绍的是function的基本框架: myfunction <- function(arg1, ...
- JS实现的base64加密、md5加密及sha1加密详解
1.base64加密 在页面中引入base64.js文件,调用方法为: <!DOCTYPE HTML> <html> <head> <meta charset ...