我想拥有一个实时协作编辑器(类似于Google Docs)。我设法实现了这个:https://github.com/Atmosphere/atmosphere/wiki/Getting-Started-with-Meteor,-WebSocket-and-Long-Polling。
所以现在我可以在两个客户端之间发送文本了。但是我很难理解如何管理协作文档/编辑器。
我读过有关运营转型的文章。那么您如何看待以下设置:
有三个客户: 客户A,客户B,客户C
这三个都通过websockets连接。所有更改都发送到API(它将是一个完整的json对象)。客户端接收json对象并根据它们/插入/删除/更新内容。此时,没有任何内容保存到数据库中。我最简单的方法是,只有客户A(他占主导地位)在每次更改时都会保存到数据库中(包括来自其他客户端的更改)。使用此解决方案,我不必在API级别实现OT。如果客户A离开,另一个客户端将占主导地位并保存到数据库中。
我现在唯一的问题是,没有(在我看来)处理客户端之间OT的简单解决方案。
你有什么建议吗?这个解决方案有意义还是完全废话?
到目前为止我的Techstack:
Backbone / jQuery
的MySQL
Java Servlet / Tomcat 7(使用WS的Jetty更好 - 稍后会实现)
如果适合这个堆栈会很酷;)
最佳费边
答案 0 :(得分:0)
好的 - 所以我有点自己解决了。那里有一个伟大的项目叫做webstrate。如果你想要实时进行富文本编辑,你应该真的检查一下。
最佳费边