1

在 noVNC 中,有一种方法可以使用在 websock.js 中实现的 api 'send_string' 将字符串从客户端发送到服务器,我注意到的一件事是这样发送字符串是它不是 RFB 编码的(如果我错了,请纠正我),因此在这种情况下的优势是可以将命令发送到中间代理,该代理连接到 VNC 服务器...

现在我的查询是..这个中间代理有没有办法将一些字符串发回给vnc客户端......意味着它不是RFB编码的,所以将在@客户端进行不同的处理

提前致谢

4

1 回答 1

1

websock.js 库是websockify项目的客户端部分。websockify 的目的是在 WebSocket(基于消息)和普通 TCP 套接字(基于流)之间架起桥梁。

websock.js 提供的 API 是流式 API,而不是基于消息的 API。此外,websockify/websock.js 允许向远程目标发送/接收二进制数据,即使使用了本机不支持二进制数据的旧 WebSocket 协议 (Hixie)。

send_string 函数是一个便利函数,因此您不必在发送之前将字符串转换为数据的数组形式。数据仍然发送到最终目标(它不会被 websockify 拦截)。RFB 握手的开始是基于字符串的,因此 noVNC 在几个地方使用 send_string (再次,为了方便)。

如果你想在 websock.js 和 websockify 之间进行带外通信,那么你需要修改双方,也许通过在每条消息中添加一个初始字节来指示它是带外信号还是部分带内流。它不是内置功能。

免责声明:我制作了 noVNC 和 websockify。

于 2013-02-02T17:42:39.567 回答