我希望能够创建一个可以通过远程客户端在网络上查看的GUI。
一种方法是在HTML5中编写整个GUI,并从Apache等服务器运行它;这方面的主要困难是GUI包含至少一个,有时两个包含实时视频流(没有任何声音)的窗口,并且似乎没有将实时视频流式传输到HTML5的好方法 - 特别是因为它真的< em>需要生效;几秒钟的延迟是不可接受的。
另一种方法(我已经完成并且实际上运行良好)只是将GUI编码为桌面应用程序(例如使用Qt),然后使用VNC或Windows远程桌面远程查看桌面。这提供了所需的响应能力和延迟时间,但缺点是整个操作系统桌面都可以访问,而不仅仅是我的一个应用程序。
所以,这是我的问题:是否有可用的机制或框架使我能够使用RFB(即基础VNC的协议)或RDP(基础Windows远程桌面)提供对单个GUI应用程序的远程访问而不是整个桌面?
答案 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遍历机制。