将RFB或RDP用于单个GUI应用程序

时间:2014-08-20 21:40:09

标签: html5 user-interface live-streaming rdp rfb-protocol

我希望能够创建一个可以通过远程客户端在网络上查看的GUI。

一种方法是在HTML5中编写整个GUI,并从Apache等服务器运行它;这方面的主要困难是GUI包含至少一个,有时两个包含实时视频流(没有任何声音)的窗口,并且似乎没有将实时视频流式传输到HTML5的好方法 - 特别是因为它真的< em>需要生效;几秒钟的延迟是不可接受的。

另一种方法(我已经完成并且实际上运行良好)只是将GUI编码为桌面应用程序(例如使用Qt),然后使用VNC或Windows远程桌面远程查看桌面。这提供了所需的响应能力和延迟时间,但缺点是整个操作系统桌面都可以访问,而不仅仅是我的一个应用程序。

所以,这是我的问题:是否有可用的机制或框架使我能够使用RFB(即基础VNC的协议)或RDP(基础Windows远程桌面)提供对单个GUI应用程序的远程访问而不是整个桌面?

1 个答案:

答案 0 :(得分:1)

当我们比较RDP和RFB时,主要的参考是RDP只共享元数据,其中RBF共享屏幕的整个帧缓冲区。所以RBF比RDP慢。 VNC正在使用RFB,其中Windows应用程序如Lync使用RDP。

http://sandaruwmp.blogspot.com/2014/05/remote-desktop-application-with-rdp.html在这里您可以看到一个简单的RDP示例

实际上,您可以创建仅共享单个应用程序的应用程序,也可以使用RDP的许多其他协议

此处https://github.com/sandaru/RDAPP在此应用程序中,它使用RDP和TCP,您只能选择一个要显示的应用程序。

在此应用程序中,它通过RDP共享桌面并侦听TCP端口,您可以发送命令,例如“停止选定的进程”,“聚焦单个应用程序”和“共享整个窗口”。 RDP根据TCP请求做出反应。

我希望这对你有用

注意:Above Source不包含任何NAT遍历机制。