0

我需要将需要查看 X 窗口的网页从使用 VncViewer 小程序转换为一些基于 HTML5 的 VNC 客户端。令人担忧的是,NSAPI 将在不久的将来在禁用小程序功能的浏览器(主要是 Chrome)上被取消支持。

我查看了 noVNC 和 websockify 并让它工作。但是,这是我的问题:我们在 IE8 上仍有一些不支持 Canvas 的客户端。对于那些启用了 Java 并且不会更改为更高版本的 IE 或 Chrome 的客户端,我们仍然希望他们继续运行小程序版本。通过在 wrap 模式下运行 websockify,我似乎无法再直接连接到 VNC 服务器(而不是通过 websockify)来保持这些小程序客户端的功能。

例如,我运行 websockify 的命令是:run 5903 --wrap-mode=ignore -- vncserver -geometry 1024x768 :3

在此之后,我尝试使用常规的 VNCViewer 客户端连接到端口 5903,但它被拒绝了。只有 websockified 页面可以查看 VNC 窗口。如果我将 5903 更改为 5902,那么我可以使用常规的 VNCViewer 客户端在 5903 处查看窗口,但是 websockified 页面无法在 5902 处查看它。

是否有希望保持与我的 VNC 服务器的并发连接可用(websockify 和常规连接)?

感谢!

4

1 回答 1

0

我建议正常启动您的 VNC 服务器(不使用 websockify 包装模式)。然后正常运行 websockify 以针对 VNC 端口。Java 客户端应继续以常规 VNC 端口为目标。noVNC 客户端应连接到 websockify 侦听端口(然后将连接到 VNC 服务器目标)。

wrap 模式的问题是原始端口是“隐藏的”(移动到一个随机的高端口并且只能被 localhost 访问)并且只有 websocket 端口被暴露。但是您仍然需要 Java 客户端可以访问常规 VNC 端口。

于 2015-07-21T16:46:28.290 回答