【问题标题】:How Droid VNC works?Droid VNC 是如何工作的?
【发布时间】:2012-08-26 00:00:23
【问题描述】:

我已经在我的平板电脑上安装了Droid VNC Server。我还在http://github.com/oNaiPs/droid-VNC-server 处检查了它的源代码,但我没有找到任何代码行来捕获屏幕并上传到查看器。那么它是怎样工作的?它如何捕获 Droid 的屏幕?

【问题讨论】:

  • 你能告诉我 Droid VNC 是如何工作的吗?我完全听不懂

标签: android vnc vnc-server vnc-viewer


【解决方案1】:

它有 3 种模式来尝试阅读您的屏幕:

  1. 帧缓冲区
  2. SurfaceFlinger
  3. 格拉洛克

我只在 Android x86 上尝试过,并且只让帧缓冲模式工作。假设 2. 和 3. 如果你在 ARM 上工作得更好。基本上,它所做的就是直接读取帧缓冲设备(/dev/graphics/fb0,就像 Linux 上一样)。通过阅读,我的意思是它需要一系列屏幕“快照”并将它们发送到 VNC 客户端,因为它请求屏幕更新。帧缓冲设备是 Android 写入屏幕内容的层,然后通过图形管道将其传递到硬件(图形显示芯片 -> 屏幕)。将帧缓冲区想象成视频中的帧,一系列帧构成视频,帧缓冲区也代表屏幕实际动态变化的内容。

关于输入,Droid VNC 服务器通过网络接收指针和键事件,对其进行处理,然后将它们发送到 /dev/input 设备,然后 Android 会像处理本地键盘或鼠标输入一样处理它们。

【讨论】:

    【解决方案2】:

    查看the jni/vnc/ folder。对我来说,当然看起来像一个 VNC 服务器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-10
      • 2015-01-31
      • 2014-12-23
      • 1970-01-01
      • 2021-05-03
      • 2010-12-09
      • 2017-09-01
      相关资源
      最近更新 更多