一些关于屏幕共享和远程控制的思路

一、背景

现实中有很多的工具可以实现远程登录和屏幕控制。

例如 向日葵、SSH等等。


二、本文目的

简单探讨实现共享屏幕和远程网络控制的思路。


三、主要思路

(一)画面分享

思路:用截图和远程主机画图来实现。

具体:

1、共享方不断循环定时截图,通过网络发送给受益方。

2、受益方在图形窗口中画出截图照片,并且定时更新截图。

3、发送的协议格式:

1字节类别(关闭、数据两种类别)

8字节毫秒数时间戳

2字节数据长度

指定长度的截取图片数据或者关闭信息

1字节间隔符


(二)远程图形控制

1、图形化界面控制,用网络传递鼠标和键盘动作。

2、控制协议格式:

1字节类别(区分鼠标和键盘)

1字节事件类别(区分左击,中击,右击)

2字节事件参数(键码)

2字节事件x坐标

2字节事件y坐标

3、事件种类

单一鼠标事件:左击,右击,双击。

单一键盘事件:例如按住某个键,同时按住多个键,松开某个键。

4、思路

受控方循环监听主控方发来的网络命令,调用Robot类的事件方法执行事件。

同时需要投屏支持,给主控方反馈画面才能远程控制。

当进入控制窗口后像操作本地电脑一样操作远程电脑。


(三)远程命令登录思路

1、双方建立TCP连接。

2、开始身份验证。

3、验证通过进入下一步,否则失败退出。

4、主控方给受控方发送命令字符。

5、受控方读取命令,调用子程序来执行命令。

6、受控方及时读取子进程的执行反馈信息。

7、受控方把反馈信息发送给主控方。

8、主控方读取反馈信息后打印在命令行窗口里。

相关推荐
田梓燊18 分钟前
图论 八字码
c++·算法·图论
Tanecious.1 小时前
C语言--数据在内存中的存储
c语言·开发语言·算法
Bran_Liu1 小时前
【LeetCode 刷题】栈与队列-队列的应用
数据结构·python·算法·leetcode
kcarly2 小时前
知识图谱都有哪些常见算法
人工智能·算法·知识图谱
CM莫问2 小时前
<论文>用于大语言模型去偏的因果奖励机制
人工智能·深度学习·算法·语言模型·自然语言处理
程序猿零零漆2 小时前
《从入门到精通:蓝桥杯编程大赛知识点全攻略》(五)-数的三次方根、机器人跳跃问题、四平方和
java·算法·蓝桥杯
无限码力3 小时前
路灯照明问题
数据结构·算法·华为od·职场和发展·华为ode卷
嘻嘻哈哈樱桃3 小时前
前k个高频元素力扣--347
数据结构·算法·leetcode
dorabighead3 小时前
小哆啦解题记:加油站的奇幻冒险
数据结构·算法
Ritsu栗子3 小时前
代码随想录算法训练营day35
c++·算法