我有一个 Web 应用程序,其中客户端编辑器正在编辑服务器端已知的非常大的文本。
客户端可以对此文本进行任何类型的修改。
以服务器理解的方式传输结果差异的最网络效率的方式是什么?此外,由于这将发生在客户端(Javascript),我也希望它“快”(或至少不会明显慢)
一些场景:
- 用户修改一个字符
- 用户在随机位置修改多个句子
- 用户删除所有内容并导致空白文本。
我不能使用类似 diff 的语法,因为它不是网络高效的,它会检查行,示例 1 和 3 会产生可怕的差异(尤其是最后一个,结果将超过旧的本身)。
有人有这方面的经验吗?用户对大量数据进行操作——大约 3-5MB 的文本,上传整个“新”内容是一个很大的禁忌。
需要明确的是,我正在寻找传输的“协议”,字符串比较不是问题。