点对点协作文本编辑

时间:2014-02-19 22:56:09

标签: javascript web synchronization

我正在构建与Google Docs非常相似的东西,其中两个人可以同时编辑文档。我读过很多关于Differential Synchronization的文章,由Google工程师撰写。他提供了一个有效的解决方但是,在我的情况下,它将成为最多2个客户端之间的对等 - 并且他的解决方案不适用于对等(中间没有服务器)我看待它的方式。由于这篇文章超过5年,我希望这个领域会有新的东西。

所以基本上我正在寻找资源(文章,视频等),为两个客户之间的对等协作文本编辑提出解决方案。

2 个答案:

答案 0 :(得分:1)

你应该寻找share.js,它提供了Operational Transformations的体面更新版本。您应该能够通过WebRTC来解决这个问题,以便在javascript中处理双向对等管道。

注意:为了好玩,我前段时间写了yace基于share.js,它仍然使用了一个中心点,但我真的认为你可以使用share.js的砖块并建立一个同行 - 对等版本。

编辑/ N.B.2:我链接了一个与问题无关的项目,但做该项目的朋友提出了一个更相关的项目:scratchpad

HTH

答案 1 :(得分:0)

你应该看看cryptpad。在Web浏览器中执行的加密可保护来自服务器,云和NSA的数据。该项目使用CKEditor Visual Editor和ChainPad实时引擎。密钥存储在URL片段标识符中,该标识符从不发送到服务器但可用于javascript,因此通过共享URL,您可以授权其他想要参与的人。

此外,您应该查看其他协作编辑算法Operational Transformation