我有一个基于Java(Apache Tomcat)的Web应用程序,它允许用户使用不同语言(如c,c ++,java)在浏览器中编写代码,并在服务器上编译和执行它们。服务器安全问题通过在ptrace监督下执行chroot jail中的每个代码来处理。
我想添加另一个协作编辑的功能,名称就是这样。
我在 Stack Overflow 上看到了一些related个问题。
因此,如果我使用code.google.com/p/google-diff-match-patch,并且每0.5秒生成一次差异,则将其发送到服务器并拉出所有其他差异并从服务器返回它们。
您认为上述方法有效吗?它可行吗?
我准备好了这个Web应用程序,所以我只希望有人指出我正确的方向,以便我可以集成一些java脚本并编写一些服务器端代码来实现我的 GOAL 。
在我的网络中添加协作编辑的最佳方法是什么 应用
答案 0 :(得分: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