`
wenbin151
  • 浏览: 32099 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

SharedObject对象详解

PHP 
阅读更多

SharedObject对象详解
本文来源于 冰山上的播客 http://xinsync.xju.edu.cn , 原文地址:http://xinsync.xju.edu.cn/index.php/archives/1729




最多人不懂的就是:那个list参数
看代码:my_rso = SharedObject.getRemote(”myRSO”, NC.uri, true);
my_rso.onSync = function(list) {//…….};
my_rso.connect(NC); //连接
在onSync回调中我们可以知道,我们的my_rso被改变了,但my_rso里具体什么改变了呢?我们就要分析这个 list参数 了
list参数其实是一个对象数组 ,首先它是一个数组,里边装了很多对象(Object),每一个对象都包括了SharedObject中一个插槽(slot)的改动信息。我暂时给他起名叫插槽信息对象。。。这名字太猥亵了。。但我就这么叫了。。
插槽信息对象包含两个属性,name 和 code,偶尔还会有个oldValue?我不太常用,不说它
name 描述被改变的属性名
code 描述该属性的改变方式 ,有可能为以下几种值:”success” , “change” , “delete” , “reject” , “clear” ,具体含义后边说
说白了这个插槽信息对象大概就是这么个样子:
{name:”x”,code:”success”}
表示x属性被修改成功
要得到这些插槽信息对象就要for in 这个list参数
for (var i in list) {
list[i] 就是插槽信息对象
}
要分析具体so哪改变了,就是分析list[i],比如
if(list[i].code==”change”) trace(”list[i].name”+被+”change了”)
if(list[i].code==”delete”) trace(”list[i].name”+被+”delete”)
“change”是啥?“delete”是啥?
“success” , “change” , “delete” , “reject” , “clear” 具体含义:
success : 表示当前影片修改so的插槽获得了成功
change : 表示so的插槽被别人修改,或填加
也就是说,你修改so的某个属性成功了会收到 “success” ,与此同时其他影片会收到 “change”
reject : 拒绝修改
例如发生在两个或多个客户端同时要修改一个so的插槽,这时候fms会只让一个client修改,并返回”success” 其他的会收到”reject”
delete , clear : 这个好理解,一个是删除,一个是清空,看例子:
比如服务器端删除某个so
so = SharedObject.get(”某个so”);
so.lock( );
var names = so.getPropertyNames( );
for (i in names) {
so.setProperty(names[i], null);
}
so.unlock( );
这样client端会收到 若干个插槽信息对象,所有的code都为”delete”,表示若干个item被删除
然而这样:
so = SharedObject.get(”某个so”);
so.clear( );
client端就只会收到一个插槽信息对象,code属性为“clear”
本文来源于 冰山上的播客 http://xinsync.xju.edu.cn , 原文地址:http://xinsync.xju.edu.cn/index.php/archives/1729
分享到:
评论

相关推荐

    ShareObject对象详解

    `var so:SharedObject = SharedObject.getLocal("mydata", "/");` 这行代码创建了一个名为“mydata”的本地共享对象,指定的路径"/"表示该对象将在应用程序的根目录下。 2. 存储数据: `var user:Object = new ...

    VC++深入详解(精华)

    C++11引入的shared_ptr、unique_ptr和weak_ptr提供了更安全的内存管理方式,避免了内存泄漏和悬挂指针的问题。 再者,多线程编程在现代软件中至关重要。VC++提供了对Windows API的线程支持,以及C++11的std::thread...

    Linux Kernel Makefiles

    ### Linux Kernel Makefiles详解 #### 1. 概览 Linux 内核的构建系统主要由 Makefile 组成,这些文件控制了内核的编译过程。内核的 Makefile 可分为五个主要部分: - **Makefile**:位于内核源码树的根目录,是...

    flex连接到FMS详解

    - `first_so = SharedObject.getRemote('CustomerInfo', first_nc.URI, false);` - `first_so.connect(first_nc.URI);` 在另一个实例中,可以重复以上步骤,但使用不同的连接URL和共享对象。 通过这种方式,Flex...

    libfreetype.so.6

    当在Linux环境下运行一个程序时,如果缺少`libfreetype.so.6`这样的动态库,系统会报出类似于"Cannot open shared object file: No such file or directory"的错误。解决此类问题通常有以下几种方法: 1. **安装...

    完全手册Flex3.0RIA开发详解.rar

    9. **访问本地存储**:Flex支持使用LocalConnection和SharedObject进行本地数据存储,这对于离线应用或需要保存用户设置的情况非常有用。 10. **优化与性能**:书中可能会介绍提高Flex应用性能的技巧,如减少组件...

    C++编程实例详解C++fromscratch_10206905

    面向对象编程是C++的核心特性,它通过类(Class)和对象(Object)来抽象和组织代码,实现数据封装、继承和多态性。泛型编程则允许我们编写不依赖特定类型代码,如模板(Template),这提高了代码的重用性和效率。...

    VC++深入详解code

    - **COM(Component Object Model)**:了解COM组件模型,学习如何创建和使用COM对象。 - **ATL(Active Template Library)**:讲解轻量级的COM编程库ATL,用于快速开发COM组件。 - **多线程编程**:理解线程的...

    LinuxELF文件详解.docx

    - 共享对象文件(shared object file):即动态链接库,可以在运行时与程序动态链接,减少内存占用并允许程序更新。 - 可执行文件(executable file):已经完成链接的程序,可以直接执行。 2. **ELF文件结构**:...

    Oracle系统调优详解.docx

    * object_cache_max_size_percent:指定会话对象的高速缓存增长可超过最佳高速缓存打下的百分比,最大大小等于最佳大小加上该百分比与最佳大小的成绩。 * optimizer_index_caching:调整基于成本的优化程序的假定值...

    library_cache内存详解

    每个child cursor都有其特定的object handle和与之关联的leap段,这些leap段包含了执行计划的相关信息。值得注意的是,parent cursor拥有hash value,而child cursor没有。在动态性能视图中,我们可以用`V$SQL`查看...

    iOS涉及到的设计模式代码方式详解

    NotificationCenter.default.addObserver(self, selector: #selector(handleNotification), name: NSNotification.Name(rawValue: "MyNotification"), object: nil) @objc func handleNotification(_ notification:...

    dso dso开发资料

    **DSO(Dynamic Shared Object)开发详解** DSO,全称Dynamic Shared Object,是Linux操作系统中的动态链接库,类似于Windows下的DLL(Dynamic Link Library)。它允许程序在运行时加载和卸载共享对象,从而实现...

    Android 4.0 网络编程详解代码

    《Android 4.0 网络编程详解代码》是一本深入探讨Android应用程序开发中网络编程技术的专业书籍。它旨在帮助开发者掌握各种网络通信技术,包括基础的HTTP协议、XML和JSON数据解析以及低级的Socket编程。这些知识点在...

    jsp基础精华详解

    ### JSP基础精华详解 #### 四种会话跟踪方式 在JSP技术中,为了保持用户的会话状态,有多种方法可供选择。这四种主要的会话跟踪方式分别是:`Session`、`Cookie`、隐藏表单域以及URL重写。 ##### 1. Session `...

    flash communication持术开发的在线游戏!

    SharedObject用于存储和同步客户端的数据,而NetStream则负责实时音视频流的传输。 3. **事件驱动编程**:ActionScript的事件模型使得游戏逻辑可以根据玩家的输入和服务器的反馈进行响应。例如,当一个玩家掷骰子后...

    maven-shared-utils-0.4.zip

    《maven-shared-utils-0.4.zip:开源XML工具库详解》 在IT行业中,高效地处理XML数据是一项至关重要的任务。"maven-shared-utils-0.4.zip"是一个专门针对这一需求而设计的开源库,它包含了"au-xml-util"模块,旨在...

Global site tag (gtag.js) - Google Analytics