我正在编写一个应用程序,希望在其中具有文档的近实时协作编辑功能(非常类似于Google Documents样式编辑)。
我知道如何跟踪光标位置,这很简单。只需使用可存储在数据库中的当前用户ID,文件名,行号和行号每半秒或第二秒轮询服务器,该轮询请求的返回值就是其他用户游标的位置。
我不知道该怎么做,就是以一种不会使您的光标移开并强制完全重新加载的方式来更新文档,因为这样做对我来说太慢了。
这实际上只需要在Google Chrome(最好是Firefox)中运行。我不需要支持任何其他浏览器。
在幕后使用的用于合并来自多个对等方的协作编辑的算法称为操作转换。虽然实现起来并不容易。