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

一、背景

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

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

相关推荐
小wanga21 分钟前
【递归、搜索与回溯】专题三 穷举vs暴搜vs回溯vs剪枝
c++·算法·机器学习·剪枝
天宫风子32 分钟前
线性代数小述(一)
线性代数·算法·矩阵·抽象代数
hjyowl1 小时前
题解:AT_abc407_c [ABC407C] Security 2
c语言·开发语言·算法
ai产品老杨2 小时前
减少交通拥堵、提高效率、改善交通安全的智慧交通开源了。
前端·vue.js·算法·ecmascript·音视频
小于不是小鱼呀2 小时前
手撕 K-Means
人工智能·算法·机器学习
m0_740154672 小时前
K-Means颜色变卦和渐变色
算法·机器学习·kmeans
东皇太星3 小时前
SIFT算法详细原理与应用
图像处理·算法·计算机视觉
鑫鑫向栄3 小时前
[蓝桥杯]堆的计数
数据结构·c++·算法·蓝桥杯·动态规划
緈福的街口3 小时前
【leetcode】3. 无重复字符的最长子串
算法·leetcode·职场和发展