javascript - Javascript 中两个字符串之间的网络效率差异

标签 javascript network-efficiency

我有一个 Web 应用程序,客户端编辑器正在编辑服务器端已知的非常非常大的文本。

客户可以对此文本进行任何类型的修改。

以服务器理解的方式传输结果差异的最网络效率方法是什么?此外,由于这将发生在客户端 (Javascript),我也希望它“快”(或至少不会明显慢)

一些场景:

  • 用户修改了一个字符
  • 用户在随机位置修改了几个句子
  • 用户删除所有内容并生成空白文本。

我不能使用类似 diff 的语法,因为它不是网络高效的,它会检查行,其中示例 1 和 3 会产生可怕的差异(尤其是最后一个,结果将比旧的本身更多)。

谁有这方面的经验?用户操作的数据集非常大 - 大约 3-5MB 的文本,上传整个"new"内容是一个很大的禁忌。

需要说明的是,我正在寻找传输“协议(protocol)”,字符串比较不是问题。

最佳答案

我对这个主题不是很熟悉,但我可以为您指出一个可能非常有用的开源项目(Apache 许可证 2.0)。

这是一个由 Google 工程师用多种语言(包括 JavaScript)编写的 Diff、Match 和 Patch 库,用于多种在线协作编辑服务。

这是资源列表:

关于javascript - Javascript 中两个字符串之间的网络效率差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1576050/

相关文章:

javascript - 在 jQuery 自动完成中获取动态值

python - 如何更有效地计算全局效率?

swift - 查询 Firebase Firestore 帖子的最有效方法

javascript - 将数据复制到剪贴板而不选择任何文本

javascript - 如何使用浏览器检测代码根据检测结果运行某些 HTML?

javascript - 尝试使用 javascript 捕获 pagemethod

php - 在 javascript 和 php 中将 URL 参数传递给页面