考虑将客户端对文本文件所做的更改通过服务器广播给其他客户端的产品。当在编辑器中进行更改的人按下按钮时,广播就会发生。其他客户端使用tcp \ ip管道连接,因此不需要轮询 在我们当前的解决方案中,每次按下按钮时,整个文本都会被发送并且广播和接收者只需删除旧文本并替换为新文本 这种方法非常简单,当这个文本的大小增加并且用户数量急剧增加时,任何这样的用户组都会根据他们的需求与同一服务器通信,然后就会出现问题
所以我们想要传递增量。然而在接收方面它更像是合并增量。(它是一个HTML编辑器,所以甚至像字体更改,颜色等列表都必须传输,当然人们也有一个烦人的习惯,删除东西) 我的问题是
1)文献中是否有众所周知的算法可以解决这个问题(并且可以合理地实施) 2)是否有我可以购买的收缩包装产品\ license \ opensource基本上解决了这个差异和合并问题
答案 0 :(得分:5)
我想你想看看operational transformation。这是google docs / google wave / etc等东西背后使用的算法。
您还可以查看Google mobwrite。