我目前正在开发一个Web应用程序,其中有一部分我必须通过VNC打开一台特定的机器来监控它的桌面.
我需要有一个基于Web的VNC客户端,这意味着它不应该在客户端安装服务器或任何其他文件.客户端只需打开Web浏览器,即可在浏览器中打开目标计算机的IP,从而运行基于Web的VNC客户端.
有什么好的资源可以在这个领域开始?
更新2013-10-29
只是FYI:当时我结束了使用鳄梨作为@Dolph建议.
它是:
Dol*_*lph 26
看看Guacamole项目:
Guacamole是一个无客户端的远程桌面网关.它支持VNC和RDP等标准协议.我们称之为无客户端,因为不需要插件或客户端软件.感谢HTML5,一旦Guacamole安装在服务器上,您访问桌面所需的只是一个Web浏览器.
在缺点方面,它需要Java服务器代理.但是,这应该是微不足道的,即使您尚未启动并运行Java服务器(Tomcat非常简单,并且Guacamole的说明很简单):
Guacamole分为两部分:guacamole-server,提供guacd代理和相关库; guacamole-client,提供客户端由servlet容器(通常是Tomcat)提供服务.
guacamole-client以二进制形式提供,但guacamole-server必须从源代码构建.不要气馁:从源代码构建Guacamole的组件并不像听起来那么困难,并且构建过程是自动化的.您只需要确保提前安装了必要的工具.有了必要的依赖关系,建立Guacamole只需要几分钟.
kan*_*aka 14
有各种解决方案,但它们都不允许100%普通的Web应用程序(即没有Flash,Java或ActiveX)直接连接到100%普通VNC服务器.最大的问题是Web浏览器无法建立纯TCP连接.最接近的是不完整的WebSockets标准,但即使这是一个框架协议,它具有类似HTTP的握手来启动它.
尽管Adobe Flash程序可以建立纯TCP连接,但它们仍然要求您连接的服务器使用端口843或您要连接的端口上的策略文件进行应答(http://code.google.com/p/ doctype/wiki/ArticleFlashSecurity).
如前所述,Guacamole需要Java代理才能在其基于HTML5的界面和VNC服务器之间进行通信.
另一个选项是noVNC(github),它在Javascript/HTML5中具有完整的VNC客户端实现(与代号为VNC协议的Guacamole不同).但是,noVNC仍受限于Javascript无法建立纯TCP连接的事实.noVNC使用WebSockets连接到服务器.noVNC包括一个通用的WebSockets到TCP桥接器,您可以在服务器(或客户端)上运行它,并且它没有额外的依赖性来安装.
更新:QEMU,PocketVNC和从LibVNCServer派生的项目现在具有内置的WebSocket服务器支持,因此不需要websockify网桥来连接noVNC.此外,我忘了注意作为免责声明,我创建了noVNC.
| 归档时间: |
|
| 查看次数: |
64409 次 |
| 最近记录: |