通过Websocket同步任意两个Javascript对象
Synchronize any two Javascript objects over Websocket
是否有一个Javascript库或模式,将同步任何两个对象在Websocket连接?
通过同步,我的意思是将对象的每个属性复制到远程,当对象的任何属性在任何一端发生变化时,"更新"被复制到"过期"的那个。就像其他"双向同步"一样。
当然,它应该能够透明地处理带宽的变化,并且应该能够在有工作网络连接时进行同步,即使上次同步操作失败(网络连接丢失或其他)。
可以递归地将属性从一个对象附加到另一个对象,如下所示:
jQuery.extend(true, destinationObject, sourceObject)
如果更改可能还包括删除,则需要使用树差分算法。如果你搜索的话,应该有可用的JavaScript实现。
如果你的对象是"平的",你可以只做jQuery.extend(destinationObject, sourceObject)
。underscoreJS也值得一看,它具有union
、difference
和intersection
等功能。
websocket的实现不应该特别复杂。只需定义setter,并可能添加一个超时,所以x秒需要经过上次更改之前的上传。
相关文章:
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 循环遍历以数组为值的Javascript对象
- 从ajax请求中获取javascript对象
- 如何从对象的原型方法访问JavaScript对象属性
- 将XML转换为普通的旧JavaScript对象
- 通过引用传递JavaScript对象
- javascript对象操作:根据指定条件选择属性
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 如何在异步函数中使用javascript对象
- 临时Javascript对象
- 如何在ASP中为用户控件添加Javascript对象网
- 使用数组向下搜索Javascript对象
- Rails将JavaScript对象存储到Model的有效方式
- JavaScript对象不是从原型链继承的
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- SetInterval在javascript对象中表现怪异
- Javascript 对象和 this 关键字
- 如何在不知道关键字的情况下访问javascript对象值
- 在 JavaScript 对象中设置要使用的运算符的属性
- 如何搜索JavaScript对象并更改值