应用需求: 网盘开发工作逐步进入各部分的整合阶段,当用户在客户端修改或新增加一个文件时,该文件要同步上传到服务器端对应的用户目录下,因此针对数据传输(即:上传.下载)这一块现在既定了三种传输方式,即:Ftp传输.HTTP传输以及基于UDT的传输.且这三种数据传输方式是可配的,可以通过不同的接口调用.相比这三种方式,基于UDT的大量文件传输是比较值得研究与创新的地方,它在底层是基于UDP,在上层实现了可靠性的控制:同时它充分考虑到了基于在公网环境下基于Tcp进行传输时拥塞控制算法的缺点,实现了自己…
应用需求: 网盘开发工作逐步进入各部分的整合阶段,当用户在client改动或新添加一个文件时.该文件要同步上传到server端相应的用户文件夹下,因此针对传输数据(即:上传.下载)这一块如今既定了三种传输方式,即:Ftp传输.HTTP传输以及基于UDT的传输. 且这三种传输数据方式是可配的,能够通过不同的接口调用.相比这三种方式.基于UDT的大量文件传输是比較值得研究与创新的地方,它在底层是基于UDP,在上层实现了可靠性的控制:同一时候它充分考虑到了基于在公网环境下基于Tcp进行传输时拥塞控制算…
应用需求: 某些场景下我们可能面临这种问题,在执行着的应用程序不能终止的情况下,升级某个功能(或添,或减.或改动).在不採用CTK Plugin Framework插件系统架构的情况下这将是非常困难的,我们须要停止执行程序,然后在相关代码中作出改动,然后再又一次编译.再又一次启动我们的程序. 而假设是基于CTK Plugin Framework插件系统架构构建的系统,则非常easy的实现插件的动态升级.在[大话Qt之四]ctkPlugin插件系统实现项目插件式开发中,我对ctkPlugin做了简…
"使用ctkPluginFramework插件系统构建项目实战",这篇文章是写博客以来最纠结的一篇文章. 倒不是由于技术都多么困难,而是想去描写叙述一个项目架构採用ctkPluginFramework来构建总是未尽其意,描写叙述的太少未免词不达意.描写叙述的太多又显得太啰嗦. 有些看过之前写的[大话QT之四]ctkPlugin插件系统实现项目插件式开发这篇文章的朋友也想了解一下究竟假设从零開始架构一个项目. 在写这篇文章的时候又回头总结了下我之前觉得已经懂了的东西,发现还是好多东西没有…
功能需求: 网盘client要可以实现多国语言的切换,第一版要支持中.英文的切换. 在实现过程中感觉QT对多国语言的支持还是非常不错的.制作多语言包非常方便.切换的逻辑也非常easy. 以下就来看一下QT中怎样制作多语言包. 实现方法: 为了支持国际化最关键的地方是制作多国语言包,然后再实现动态切换. QT里面既能够採用命令行也能够採用Qt Creator的界面操作来生成.这里我们利用Qt Creator来生成多国语言包.基本流程是,先生成ts文件.然后生成qm文件,最后通过QTranslato…
本文章只是简单搭建,因为公司只须要简单使用,虽然简单但是之前也走了一些弯路,所以决定把过程记录下来. 一.Vsftp安装与卸载 安装:yum install vsftpd 卸载:yum remove vsftpd 二.启动服务 启动:systemctl start vsftpd.service 重启:systemctl restart vsftpd.service 停止:systemctl stop vsftpd.service 三.用户配置(注:修改配置文件保存后,都重启一下) 1.匿名用户(…
应用需求: 网盘开发工作逐步进入各部分的整合阶段,当用户在客户端修改或新增加一个文件时,该文件要同步上传到服务器端对应的用户目录下,因此针对数据传输(即:上传.下载)这一块现在既定了三种传输方式,即:Ftp传输.HTTP传输以及基于UDT的传输.且这三种数据传输方式是可配的,可以通过不同的接口调用.相比这三种方式,基于UDT的大量文件传输是比较值得研究与创新的地方,它在底层是基于UDP,在上层实现了可靠性的控制:同时它充分考虑到了基于在公网环境下基于Tcp进行传输时拥塞控制算法的缺点,实现了自己…
本篇文章是对[大话QT之十二]基于CTK Plugin Framework的插件版本号动态升级文章的补充,在上篇文章中我们阐述的重点是新版本号的插件已经下载到plugins文件夹后应该怎样更新本地正在执行的程序,是整个插件升级实现的后半部分.本篇文章就来讲述软件自己主动部署(当然,也包含插件升级)的前半部分. 我们必须有这样一点认识.即:我们的程序是执行在用户机器上的,插件更新不是我们手动放进去的,而必须有一种机制使client可以检測到须要升级插件了.然后将插件自己主动下载下来,最后自己主动进…
参考资料:vs code配置ftp连接远程服务器实现代码文自动上传 1.在vscode应用商店中搜索拓展sftp插件,然后进行安装.2.安装完成后重启窗口,按快捷键Ctrl+shift+p,输入sftp:config回车进入配置文件. 配置项: { "host": "xxxx.ftp.azurewebsites.windows.net", //ftp地址 "protocol": "ftp", //协议类型 "port…
C#编程总结(十二)断点续传 我们经常使用下载工具,如bit精灵.迅雷.FlashGet,这些软件都支持断点续传. 断点续传即下载任务暂停后可以继续,而无需重新下载,即下载时需要通知服务器的起始位置.如果允许多线程进行分片下载,必须提供起始-截止位置.说到底就是可以选择下载某个片段,整个文件的字节流,可以截取流的片段,也能实现流的累积,最终完成文件下载. 一.原理 在 HTTP/1.1里新增的一个头属性:Range,也是现在众多号称多线程下载工具(如 FlashGet.迅雷等)实现多线程下载的核…