远程桌面是指通过网络操作另外一台电脑。目前有两种实现方式,一种是将远端电脑的显示拉取到本地进行显示,另外一种是直接登录账户,直接创建一个新的会话。如何区别两种运行方式呢?一个很直观的方法就是退出远程后,远程电脑本身是否还会继续运行程序。大家常接触到的都是通过拉取远端的显示进行远程桌面的。那么远程桌面是如何实现的呢?
如下图所示:
远程桌面需要实现两个部分,一是键盘、鼠标事件的传递,二是桌面显示内容的传递。
桌面内容传递也有两种实现方式。一种是将桌面变成一张图片,0.1秒发送一张图片,桌面的显示效果都会比较流畅。目前市面上大部分远程控制的软件都是采用这种方式,兼容性也是最好的,例如RealVNC、Teamview。由于图片传输数据量比较大,RealVnc采用的方式就是将图片拆分成小图片,每次仅传输有变化的小图片,在界面无大变化的时候,可以减少图片的传输。另外一种方式是HOOK界面的变化,这个方式难度是比较大的,不同的操作系统甚至有不同的方式。实现的最好的就是Windows操作系统自带的远程桌面程序。(windows内置程序有一个最大的优势就是可以只针对当前系统做开发,不需要考虑兼容性,并且HOOK这些界面变化,也的确只有微软自家人才搞的明白。)
原文地址:https://www.cnblogs.com/shanshisanren/p/10466675.html
时间: 2024-10-08 11:42:21