开源一款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消息队列应用编程
消息队列: 消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法 每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值 消息队列也有管道一样的不足,就是每个消息的 ...
- SpringMVC基于注解方式的quartz
项目框架: SpringMVC.MyBatis.JSP 1. 首先配置spring.xml文件 <?xml version="1.0" encoding="UTF- ...
- OKR学习总结
OKR学习总结 背景:因为公司最近采用OKR工作法,所以来了解一下. 简介 OKR ——Object Key Results 主要分为两部分:O 和 KR ,就是目标和关键结果. 将这个丰满点描述,就 ...
- Kubernetes 部署失败的 10 个最普遍原因
[原文].后面我们可能还会看到一个 OOMKilled 错误. 我们的应用正在挂掉?为什么? 首先我们查看应用日志.假定你发送应用日志到 stdout(事实上你也应该这么做),你可以使用 kubect ...
- Select级联菜单,用Ajax获取Json绑定下拉框(jQuery)
需求类似这样 ↓ ↓ ↓ --> 菜单A发生变化,动态取数据填充下拉菜单B. JS代码如下: <script type="text/javascript"& ...
- 05_MySQL常见函数_分组函数
# 分组函数/*功能: 统计,又称为聚合函数,统计函数,组函数 传入一组值,统计后得到一个值 分类: sum 求和,avg 平均值,max 最大值,min 最小值,count 计算个数 特点: 1. ...
- 配置servlet支持文件上传
Servlet3.0为Servlet添加了multipart配置选项,并为HttpServletRequest添加了getPart和getParts方法获取上传文件.为了使Servlet支付文件上传需 ...
- vue-cli router的使用
用了很久这个vue-cli到现在连入门都算不了,为了防止忘记还是很有必要记一下随笔的. 关于vue-cli中的router的使用,, 我将所有页面都存放在components文件夹下, 灰后通过rou ...
- 从SynchronizedCollection说起
SynchronizedCollection简介 SynchronizedCollection是Collections下所有现场安全集合的父类,并发安全集合可以分为三类,一种是比较老的实现,例如vec ...
- js计算之递归
看以下js代码: var w = [{ label: '你好', node: [ { label: '你好啊', node: [{ label: "还好", node: [] }, ...