我正在寻找创建一种远程桌面软件,并且我需要通过互联网将用户屏幕传输给 Spectator .
我的目标是创建一个优化的捕获,这样我就不必每秒传输整个屏幕10次..
我的想法是在本地计算机上截取屏幕截图,然后仅确定上一次屏幕截图中的CHANGED像素 . 所以基本上如果他们做了什么,只有在屏幕上发生变化的东西才能在另一边发送和重建,所以我可以节省带宽并加快速度以适应较慢的互联网连接 .
My questions:
-
如何将新屏幕截图与旧屏幕截图进行比较并确定更改内容 .
-
如何通过标准TCP流发送步骤1中发现的信息 .
-
如何重建该数据以在另一侧成功显示屏幕更新 .
1 回答
VNC是一种开源远程桌面软件 . 我建议您下载源代码并查看其工作原理 . 但是我确信它不是用C#编写的 .
这是TightVNC源代码的链接:http://www.tightvnc.com/download.php
FogCreek最近将VNC源用于其CoPilot产品 . 您也可以从这里下载它的来源:https://www.copilot.com/faq/#t28
希望有所帮助