我应该如何使用 SignalR 创建"screen sharing"



我知道这不是一个具体的问题,但我只是想获得关于SignalRscreen sharing网站的设计思路。

我们想在我们的网站上添加一个名为"分享我的屏幕"的链接,然后我们的support team能够看到浏览器的内容(不是整个桌面),甚至他们能够点击或键入customer browser

我想把它写成

  1. 通过js(例如通过http://html2canvas.hertzen.com)从浏览器获取screen shot
  2. 不断发送已采取的screen shot到服务器(我还不知道如何)
  3. 服务器将收到的screen shot发送到我们的support team浏览器
  4. support team浏览器上捕获mouse movekey press
  5. 将捕获的数据发送到customer browser

由于每个部分都需要大量的工作,我只是想收集所有可能的想法来找到一个经过测试的解决方案

首先,我不认为你的capturing screen的想法是真正可行的javascript技术。安全性将是一个大问题,您将需要处理大量数据,并且无论您如何处理同步事件都将是一场噩梦。捕获和共享tab contentevents是一个更易于管理的目标。

如果你的目标是为那些无法安装remote control应用程序的人使用这个,那么我们可以计算WebRTC等新技术,因为浏览器兼容性问题。

有一个很好的博客文章讨论这个问题在这里 -(在HTML5中屏幕共享浏览器选项卡?)

我特别喜欢第一种方法,使用Mutation Observer(浏览器支持)和Web Sockets(浏览器支持)。它基本上通过使用变异观察者同步两个html文档,并使用web套接字进行通信。如果您愿意,您可以使用SignalR代替标准的web套接字API进行通信。