在没有服务器的情况下,在JavaScript中智能地同步多个字符串的最简单方法是什么?
- 用户将编辑与Dropbox同步的文档。如果用户的更新与Dropbox版本的更新冲突,我想自动合并所有更新。
- 浏览器中还有多个需要同步的文档“视图”,但没有延迟,因此冲突的更改应该不是问题。但是,这意味着两个以上对等体之间的同步(至少其中一个具有显着滞后)。
- 在浏览器中运行同步“服务器”是可以的,但我正在尝试避免使用外部托管服务器。
以前有很多协作编辑工作,但他们通常会假设一个外部托管的服务器。例如:
似乎可以通过编写实现WebSockets API部分的一些存根来使DigDB适用于嵌入浏览器的内部服务器:
- 服务器:公开写入和读取JavaScript对象(WebSocketJSONStream)的双工流。然后将该流直接传递到
share.listen
。
- 客户端:创建一个实现WebSocket规范的对象,并将其传递给
ShareDB.Connection
构造函数。
醇>
我会接受任何答案,帮助我让ShareDB完全在浏览器中工作或通过更简单的方法同步我的JavaScript字符串。
关于改编ShareDB的问题:
- 需要实施哪些接口?它们只是方法,还是我还需要处理消息?
- 是否可以使用浏览器的内置WebSockets API(我的初步调查显示“不行”。)