首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以使用文本区域进行实时协作?

是否可以使用文本区域进行实时协作?
EN

Stack Overflow用户
提问于 2012-01-11 22:00:09
回答 3查看 1.6K关注 0票数 3

我正在开发一个需要实时协作的应用程序。我计划使用cshtml文本区来允许用户键入。使用文本区域可以实现实时协作吗?

此外,我还读到了一些关于运营转换的内容。可以使用.net框架来实现吗?

我只是一个初学者,没有多少关于算法的知识,这些算法可以帮助我实现实时协作。任何帮助都将不胜感激。

提前谢谢你。

EN

回答 3

Stack Overflow用户

发布于 2012-01-12 21:30:06

ShareJS是免费的,它使用node.js来实现您正在寻找的东西,并实现OT2算法

对于.Net来说,没有开箱即用的操作转换,但是你可以看看BeWeeBee SDK (虽然是商业软件)

票数 5
EN

Stack Overflow用户

发布于 2012-01-12 01:17:16

我正在开发一个需要实时协作的应用程序。我计划使用cshtml文本区来允许用户键入。使用文本区域可以实现实时协作吗?

这真的取决于你想要提供的用户体验。如果你想锁定一个用户的文本区域,而另一个用户正在编辑,那么这可能不是最好的用户体验,但它绝对是相对容易做到的。

如果您希望两个或更多用户能够同时编辑同一文本区域,那么使用realtime web technology在用户之间发送data_changed事件是相当容易的,但是您需要处理用户之间的文本区内容的同步,并处理冲突检测。这方面的用户体验也复杂得多。

此外,我还读到了一些关于运营转换的内容。可以使用.net框架来实现吗?

我不得不查找operational transformation,它部分地回答了关于用户体验的问题--它是非阻塞的。浏览完维基文档后,我会问这样一个问题:为什么不可能呢?你可以在所有用户/应用程序之间即时交流,通知他们变化(如上所述:使用实时web技术),所以你只需要实现和管理所有聪明的算法:) (我不知道是否有组件可以为你管理这些)

对于自托管.NET实时web技术,您可能需要考虑SignalRXSocketsSuperWebSocketWebSync

如果你想启动和运行得更快一点,你可以看看hosted realtime web technology

票数 4
EN

Stack Overflow用户

发布于 2018-01-04 14:17:25

这是一个古老的问题,但还有一些额外的信息可能会有所帮助。正如前面的回答所提到的,基于文本的数据同步有几种选择。其中很多都是基于Operational TransformationCRDTs的。这些方法在SDK中以多种语言实现。(完全公开,我碰巧是Convergence的作者之一)。

但是,您还需要考虑实现协作编辑所需的一些其他功能。例如:

  • Presence:是谁在编辑you?
  • Collaboration意识:像共享光标和组撤销这样的东西:当用户按下control z时会发生什么?他们是撤销他们所做的最后一个动作,还是当多个人同时编辑时,其他远程用户did?
  • History:知道谁做了更复杂的最后一个动作。当一个用户单击保存(如果有保存)时,他们可能正在保存另一个用户执行的操作。

这些只是协作编辑中需要考虑的几个例子,而不仅仅是数据同步。当这些问题出现时,大多数答案都集中在数据同步框架上。在Convergence Labs,我们帮助人们设计协作编辑应用程序,并已经实现了数十个这样的应用程序。我们已经多次看到,如果你所投入的只是数据同步,那么用户体验就会变得非常糟糕,用户不会喜欢这个应用程序。

因此,在选择一个框架时,寻找一些可以帮助你实现实时编辑的其他方面的东西,或者至少准备好在你选择的任何工具之上实现它们。

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

https://stackoverflow.com/questions/8820532

复制
相关文章

相似问题

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