通过Websocket同步任意两个Javascript对象

时间:2014-03-09 21:34:00

标签: javascript websocket synchronization

是否存在可以通过Websocket连接同步任意两个对象的Javascript库或模式?

通过同步我的意思是将对象的每个属性复制到远程,当对象的任何属性在任何一端发生更改时,“更新”将被复制到“过时”对象。就像任何其他“双向同步”一样。

当然它应该能够透明地处理不断变化的带宽,并且即使上次同步操作失败(网络连接丢失或其他),也应该能够在有效的网络连接时进行同步。

1 个答案:

答案 0 :(得分:0)

这可以递归地将属性从一个对象附加到另一个对象,如下所示:

jQuery.extend(true, destinationObject, sourceObject)

如果更改可能还包括删除,则需要树差异算法。如果您搜索它们,应该有JavaScript实现。

如果您的对象是“平坦的”,则可以jQuery.extend(destinationObject, sourceObject)。也许值得看看undercoreJS,它具有uniondifferenceintersection等功能。

websocket实现不应该特别复杂。只需定义setter,并可能添加一个超时,因此自上次更改之前需要经过x秒。

相关问题