远控桌面多任务并发文件保密传输

远程桌面文件传输是一个重要的功能,大多数远控都是用的桌面程序模式,利用系统自带复制粘贴拖拽文件拷贝功能,做一个ole调用对接,可以将很多控制权交给操作系统。

但我做的是浏览器版,浏览器是沙盒原理,为了安全,天生与操作系统底层能力隔离,在没有做这套系统前,一直觉得远程系统不复杂,也没有啥大不了的。但当自己深入进去,发现自己草率了,光这各种功能,ui交互性都充满了非常夸张的细节处理的工作。

硬着头皮还是要上,首先实现拖拽和paste的消息监听,获取到挎贝的文件对象,但是的确没有获取到路径,有知道的大佬可以指导指导我。在传输时首先判断文件大小,如果文件小于阈值就开启单任务传输,目前测试速率在2-4M bytes每秒 B/s速度还将就,为了提高传输速率,对于大文件采用多任务并发模式可以提高到8M以上,因为是自定义操作,点对点操作,所以安全隐秘性是完全可以定制的,但是对于用户操作的各种场景,要做各用户同时传输,分片传输这的确是一个挑战,如何应对容错,回滚,文件冲突等难题,策略如何,都不好应对,本着先满足基本功能再迭代优化的思路先加个轮子跑起来再说。

评论区的大神也请多指教,我现在觉得远程桌面系统是个坑,到处充满细节处理的魔鬼,多端设计优化非常耗费精力,不知道是否能坚持到最后,但已经在路上了,总得走下去,一个小小里程碑的达成都是对自己的及时褒奖。

相关推荐
Spider_Man15 分钟前
JavaScript对象那些坑:初学者必踩的“陷阱”与进阶秘籍
前端·javascript
我身高一米七三23 分钟前
ADC数据采集
物联网
我在北京coding37 分钟前
Uncaught ReferenceError: process is not defined
前端·javascript·vue.js
张成AI40 分钟前
A2A JS SDK 完整教程:快速入门指南
javascript·agent·a2a
baozj1 小时前
一次表单数据复用引发的 Bug:理解 Vue 中的 data 为何是函数
前端·javascript·vue.js
LRH1 小时前
JS基础 - instanceof 理解及手写
前端·javascript
小小神仙1 小时前
JSCommon系列 - 为什么前端没有 Apache Commons?
前端·javascript·设计模式
一头小鹿1 小时前
【JS】手写显示绑定改变this指向的方法call、apply、bind | 笔记整理
javascript
Sun_light1 小时前
深入理解 JavaScript 对象:从入门到精通
前端·javascript
中微子1 小时前
从零构建电影展示页面:原生js Web开发技术解析
前端·javascript