【问题标题】:Live streaming online editor in the website网站中的实时流媒体在线编辑器
【发布时间】:2019-01-22 15:41:00
【问题描述】:

我正在开发一个 IDE 和编译器项目。所以我想将编辑器直播给同一个网站的成员,但我不希望它是像 YouTube Live 这样的视频流。编辑器对其他人应该是只读的

注意:网页内置编辑器

【问题讨论】:

  • 请进一步解释直播格式的含义。
  • @Kwright02 我在文本框中输入的所有内容都应该被其他人看到
  • 所以如上所述,像谷歌文档?
  • 好的,我将开始为此写一个答案

标签: javascript php html live-streaming broadcasting


【解决方案1】:

这就是我解决这个问题的方法,如果我做的不正确或结构不正确,我很乐意根据评论反馈更新任何内容。

要实现像 google docs 这样的近实时更新,您需要某种形式的数据包/数据通信。通常,这涉及某种数据库,或在会话中向用户发送分组数据。我的猜测是,Google 会为您的文档保留一个小缓存,以了解当前正在使用该文档的人。然后它收集页面的数据,检查大小并查看自上次检查以来它是否发生了变化。它会在某人进行编辑后改变大小,并且可能有一种辅助方法可以确保如果您不是进行更改的人,它不会在 1 之后开始无限循环向人们发送更改人输入了 1 个字母。因此,现在页面识别出您已经进行了更改,因此它向浏览器“发送一个包含新文档内容的数据包”。未进行该编辑的其他人将收到更改,因为他们的客户端(谷歌文档会话)不断检查用于“传输”数据的文档的小型缓存。然后其他客户端会话有一个检查循环,它将每隔一段时间向缓存发送一个 ajax 请求以检查更新。如果它检测到有一个,那么它会提取该数据并适当地更新文档。

要实现您所说的这种“视频”视图,这相当于某人查看了一个 google 文档页面,除了在其他人(您)在他们的会话中编辑它时,不允许做任何事情。

我希望这有助于您了解完成这项任务需要做什么。

有用的链接:

  1. 阿贾克斯信息:click me
  2. JavaScript 信息:click me

【讨论】:

  • 感谢您的回答。我实际上正在做一个大学项目,其中涉及网络应用程序中的在线 IDE 和编译器。我想为观众直播编辑器,所以时间不长。只需要捕获文本区域并将其保持在无限循环中。关于数据包,您的回答对我来说很有意义。谢谢
猜你喜欢
  • 2016-07-07
  • 1970-01-01
  • 1970-01-01
  • 2011-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-29
相关资源
最近更新 更多