Droid VNC如何工作?

时间:2012-08-31 07:29:28

标签: android vnc vnc-server vnc-viewer

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

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

查看the jni/vnc/ folder。当然看起来像VNC服务器。