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

一、背景

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

例如 向日葵、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、主控方读取反馈信息后打印在命令行窗口里。

相关推荐
hetao17338376 分钟前
2026-01-27~28 hetao1733837 的刷题记录
c++·笔记·算法
2301_822366359 分钟前
C++中的智能指针详解
开发语言·c++·算法
u01092727134 分钟前
C++中的模板方法模式
开发语言·c++·算法
重生之我是Java开发战士41 分钟前
【优选算法】滑动窗口:长度最小的子数组,无重复字符的最长子串,最大连续1的个数,将x减到0的最小操作数,水果成篮,异位词,串联所有单词的子串,最小覆盖子串
算法
naruto_lnq1 小时前
C++与自动驾驶系统
开发语言·c++·算法
啊阿狸不会拉杆1 小时前
《数字信号处理》第6章:数字滤波器的基本概念及几种特殊滤波器
算法·matlab·信号处理·数字信号处理·dsp
放荡不羁的野指针1 小时前
leetcode150题-双指针
数据结构·算法·leetcode
好学且牛逼的马1 小时前
【Hot100|15-LeetCode 238. 除自身以外数组的乘积】
数据结构·算法·leetcode
Tisfy2 小时前
LeetCode 3651.带传送的最小路径成本:动态规划
算法·leetcode·动态规划·题解·排序
努力学习的小廉2 小时前
我爱学算法之—— 递归回溯综合(一)
算法·深度优先