如何将NoVNC集成到.net应用程序中进行远程访问?
发布于 2011-02-14 15:43:25
这取决于您是希望将noVNC客户端集成到.net应用程序中,还是希望noVNC能够连接到.net应用程序以查看它。我不知道为什么要这样做,因为有更有效的方法将VNC客户机添加到.net应用程序中。因此,我将回答第二个选项(使用.net连接到noVNC应用程序)。
noVNC是一个VNC客户端;它实现RFB/VNC协议的客户端部分。noVNC连接到的服务器必须实现RFB/VNC协议的服务器部分。最简单的选择是运行单独的VNC服务器,该服务器可以服务于单个窗口(应用程序可以在其控制下启动VNC服务器)。否则,您必须在应用程序本身中实现所有VNC/RFB语义:
另外,web浏览器不能启动原始的TCP套接字连接,只能启动WebSocket连接。除了WebSockets握手和帧,WebSockets当前只允许UTF-8编码的有效载荷。为了克服这些限制,noVNC使用websockify在原始TCP套接字和WebSockets之间进行转换。为了克服WebSockets UTF-8的限制,websockify base64编码/解码到浏览器的所有通信量。websockify的功能可以与VNC服务器功能一起实现。事实上,这个分叉的libvncserver有WebSockets (和base64编码)支持内置(即noVNC可以直接连接到它而不需要websockify)。
如果您仍然希望在您的WebSockets应用程序中实现VNC/RFB和WebSockets支持,那么您可以使用这个C#代码作为WebSockets功能的参考。
https://stackoverflow.com/questions/4989724
复制相似问题