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

一、背景

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

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

相关推荐
m0_743470372 小时前
C++代码静态检测
开发语言·c++·算法
m0_738098022 小时前
C++中的代理模式实战
开发语言·c++·算法
The_Ticker2 小时前
日股实时行情接口使用指南
java·经验分享·笔记·python·算法·区块链
靠沿2 小时前
【递归、搜索与回溯算法】专题一——递归
算法
凌波粒2 小时前
LeetCode--24.两两交换链表中的节点(链表)
java·算法·leetcode·链表
猫咪老师2 小时前
RAG与GraphRAG介绍
人工智能·算法·llm
qwehjk20083 小时前
实时语音处理库
开发语言·c++·算法
2301_804215413 小时前
自定义异常类设计
开发语言·c++·算法
暮冬-  Gentle°3 小时前
C++代码依赖分析
开发语言·c++·算法
2301_763891953 小时前
泛型编程与STL设计思想
开发语言·c++·算法