zoukankan      html  css  js  c++  java
  • 世界本就很简单-远程桌面

    远程桌面是指通过网络操作另外一台电脑。目前有两种实现方式,一种是将远端电脑的显示拉取到本地进行显示,另外一种是直接登录账户,直接创建一个新的会话。如何区别两种运行方式呢?一个很直观的方法就是退出远程后,远程电脑本身是否还会继续运行程序。大家常接触到的都是通过拉取远端的显示进行远程桌面的。那么远程桌面是如何实现的呢?

    如下图所示:

    远程桌面需要实现两个部分,一是键盘、鼠标事件的传递,二是桌面显示内容的传递。

    桌面内容传递也有两种实现方式。一种是将桌面变成一张图片,0.1秒发送一张图片,桌面的显示效果都会比较流畅。目前市面上大部分远程控制的软件都是采用这种方式,兼容性也是最好的,例如RealVNC、Teamview。由于图片传输数据量比较大,RealVnc采用的方式就是将图片拆分成小图片,每次仅传输有变化的小图片,在界面无大变化的时候,可以减少图片的传输。另外一种方式是HOOK界面的变化,这个方式难度是比较大的,不同的操作系统甚至有不同的方式。实现的最好的就是Windows操作系统自带的远程桌面程序。(windows内置程序有一个最大的优势就是可以只针对当前系统做开发,不需要考虑兼容性,并且HOOK这些界面变化,也的确只有微软自家人才搞的明白。)

  • 相关阅读:
    总结与学习DIV+CSS网页布局技巧
    sns.pairplot()
    使用python处理Excel,Excel中一行数据生产一个Excel文件
    sklearn.model_selection
    sklearn.datasets
    sklearn.metrics 模型评估指标
    LightGBM
    对比Node.js和Python 帮你确定理想编程解决方案!
    小白需要了解的Ajax和websocket的区别以及使用场景!
    为什么越来越多的人想学编程?
  • 原文地址:https://www.cnblogs.com/shanshisanren/p/10466675.html
Copyright © 2011-2022 走看看