VNC的虚拟频道?

时间:2010-09-06 16:47:03

标签: add-in remote-desktop vnc rdp virtual-channel

有人知道天气VNC(RFB)支持虚拟频道和加载项,就像它在RDP(微软终端服务)中一样吗?我只是想通过VNC连接传输我自己的数据......

1 个答案:

答案 0 :(得分:1)

不幸的是,VNC / RFB没有虚拟频道。

以下是我在RFB协议中找到的最佳参考:http://tigervnc.org/cgi-bin/rfbproto

如果不了解您要发送的内容以及方向,我们会想到一些选项:

  • 紧密编码具有文件传输支持。完整的紧密编码规范格式不正确:http://vnc-tight.svn.sourceforge.net/viewvc/vnc-tight/trunk/doc/rfbtight.odt?revision=3619

  • 如果您同时控制客户端和服务器,则可以定义允许您发送数据的自定义编码。客户端会宣传它支持编码,如果服务器支持它,那么它将开始使用它。

  • 您可以使用剪贴板消息(ClientCutText和ServerCutText),如果需要发送二进制数据,则可以创建自定义编码数据,如ISO 8859-1(Latin-1)。缺点是如果服务器不支持它并且客户端发送数据,它将被粘贴到服务器。

  • 如果您只需要从服务器发送到客户端,则可以使用framebufferUpdate消息,该消息在当前视口之外发送数据(即视口右侧之外的123像素)。没有支持的客户可能无法很好地处理这个问题。

  • 如果您只需要从服务器发送到客户端,另一个选择是您可以在视口中使用特殊标记发送framebufferUpdate,然后立即发送framebufferUpdate(即使在同一个数据包中)真正的可见数据来取代它。这将适用于现有客户端(更多开销)。客户可能会看到短暂的闪烁。