2010-09-06 48 views
0

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

回答

1

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

这里是我发现的RFB协议的最好参考:http://tigervnc.org/cgi-bin/rfbproto

不知道更多关于你想送什么和方向(S),有几个选项浮现在脑海:

  • 紧密编码具有文件传输支持。这里有一个格式不完整的严格编码规范: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(即使在同一个数据包中)可见的数据来取代它。这将与现有的客户端(更多的开销)一起工作。客户可能会看到简短的闪烁。