0

我有一个基于 Java(Apache Tomcat)的 Web 应用程序,它允许用户在浏览器中用不同的语言(如(c、c++、java)编写代码并在服务器上编译和执行它们。服务器安全问题是通过在 ptrace 监督下执行 chroot jail 中的每个代码来处理的。

  • 我使用 Ace 编辑器作为代码编辑器。

我想添加另一个功能,即协作编辑,名字就说明了一切。

我在Stack Overflow上看到了一些相关的问题。

因此,如果我使用code.google.com/p/google-diff-match-patch并每 0.5 秒生成一个差异,请将其发送到服务器并提取所有其他差异并从服务器返回它们。

  • 您认为上述方法可行吗?会可行吗?

  • 我已经准备好这个 Web 应用程序,所以我只希望有人指出我正确的方向,以便我可以集成一些 java 脚本并编写一些服务器端代码来实现我的目标

  • 在我的 Web 应用程序中添加协作编辑的最佳方式是什么?

4

1 回答 1

4

我正在做一个非常相似的项目。:)

您的解决方案无法处理冲突。您需要更复杂的技术,例如操作转换:http ://en.wikipedia.org/wiki/Operational_transformation


它是现在开源的 Google Wave 的基础:

http://www.waveprotocol.org/protocol

http://incubator.apache.org/wave/


在互联网上你可以找到很多关于这个主题的好博客和文章:http: //www.codecommit.com/blog/java/understanding-and-applying-operational-transformation

于 2013-03-22T15:04:02.180 回答