RDP 与 VNC 之间有什么区别?

Jon*_*han 85 networking remote-desktop vnc

RDP 和 VNC 之间的真正区别是什么?

它们都提供相同的功能和特性?

Sve*_*end 148

RDP 是语义的。RDP 知道控件、字体和其他类似的图形基元。这意味着在通过网络渲染屏幕时,此信息用于显着压缩数据流。例如,如果你知道屏幕的这个区域被一个按钮占据,颜色为灰色,那么你不需要通过网络发送按钮的图像,而只需要诸如这个按钮的位置之类的信息,大小和颜色。

VNC 在这方面是“愚蠢的”,主要通过通过网络发送实际图像来发挥作用。

RDP 与 Windows 平台紧密耦合,而 VNC 可用于大多数平台。由于语义优势,RDP 也被视为比 VNC 性能更高。

  • 有关如何隐藏 RDP 会话的说明,请参阅此页面:http://oreilly.com/pub/a/windows/2005/11/08/shadowing-remote-desktop-sessions.html (6认同)
  • 还有一件事:VNC 允许您在 RDP 没有的目标机器上共享会话(有利于技术支持和演示)。 (5认同)
  • 如果您有权限,您可以隐藏其他用户的 RDP 会话或控制台会话。这不是自动的,但它是可能的。 (4认同)
  • XRDP 仍然意识到这一点,并且正在做大量工作,包括识别常见的内容,例如字体或简单的屏幕块(单一或不变的颜色),以消除通过网络直接发送图像的情况。 https://github.com/neutrinolabs/xrdp/ (3认同)
  • 那么为什么可以从 Windows 上的 Windows 远程桌面连接到 Linux 上的 Xrdp 服务器呢?基元元素明显不同,并且不可能在两个系统之间正确转换。 (2认同)

Jar*_*ley 13

RDP 代表远程桌面协议,是微软开发的专有协议。(更多来自维基百科

VNC 代表虚拟网络计算,与平台无关。(更多来自维基百科

尽管我已经看到这些术语互换了,但 RDP 通常用于指连接到 Windows PC。Windows PC 内置了 RDP,但也有适用于 Mac 和 Linux 的客户端。Linux 用户可以使用rdesktop连接到 Windows 计算机。

VNC 需要在 PC 上运行单独的客户端,但与平台无关,因此我可以在我的 PC 上安装 VNC 客户端并连接到运行 VNC 服务器的 Linux 机器。VNC 程序通常可以相互连接,并且通常包括 RDP 没有的其他功能,例如文件共享/传输和与另一台计算机上的人聊天。

我们自己的 Jeff Atwood 甚至在 2005 年发表了一篇关于这两种协议的Coding Horror 文章

  • RDP 和 VNC 都需要远程系统上的服务器和本地系统上的客户端。并非所有 Windows 电脑都内置了 RDP 服务器。 (4认同)

tsi*_*ilb 5

RDP 将您登录到远程系统就像在控制台上一样(只是延迟和 DirectX 支持不是那么好)...... VNC 只是盲目地传输按键和鼠标输入,并以相当于流视频的方式接收桌面。


Suf*_*ori 5

添加一些关于我在研究时发现的其他答案的信息,

RDP ,

  • RDP 代表远程桌面协议。它是微软建立的专有协议,让用户可以图形化地控制远程计算机。
  • RDP 通过在服务器计算机上有效地创建包含用户配置文件的真实桌面会话,使远程用户登录到服务器计算机。
  • RDP 的工作方式与用户直接登录到物理服务器的方式相同。
  • RDP 可以支持多个远程用户登录到同一台服务器上,并且彼此完全不知道。
  • RDP 支持多个监视器(如果客户端有的话)

VNC,

  • VNC 代表虚拟网络计算。它是一个独立于开放平台的图形桌面共享系统,旨在远程控制另一台计算机。
  • VNC 遵循旧模型,只需显示屏幕上的任何内容,无需强制登录。
  • VNC 通过共享计算机的屏幕、键盘和鼠标将远程用户连接到计算机本身。
  • 因此,当多个用户(包括操作真实物理显示器和键盘的用户)连接到同一台服务器时,他们会看到相同的内容并在相同的键盘上打字。
  • VNC 有安全隐患;如果您远程访问管理员登录的机器,您实际上将成为管理员。如果你们同时尝试使用计算机,那就更有趣了!

两者的相似之处,

  • RDP 和 VNC 技术都需要客户端和服务器端软件来支持通信协议。
  • 这两种技术都使用直接的对等通信。表示本地用户计算机直接连接远程计算机