首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NoVNC在.net应用中的集成

NoVNC在.net应用中的集成
EN

Stack Overflow用户
提问于 2011-02-14 07:25:15
回答 1查看 2K关注 0票数 1

如何将NoVNC集成到.net应用程序中进行远程访问?

EN

回答 1

Stack Overflow用户

发布于 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语义:

  • VNC认证
  • 编码协商
  • 跟踪应用程序的可视状态。
  • 处理客户端鼠标状态和键盘状态信息。
  • 通过计算请求区域内的矩形来响应客户端FBU ()请求,这些矩形自客户端上次请求该区域以来已更改。将这些矩形配置为客户机和服务器都支持的最佳编码。

另外,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功能的参考。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4989724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档