您的位置:首页 > 移动开发 > Objective-C

Flex中SharedObject远程共享对象的使用

2012-07-12 16:16 567 查看
    在Flex中通过SharedObject远程共享对象可以实现不同客户端的同步更新,这对于编写网络应用比如共享白板、共享游戏等非常重要。关于SharedObject的创建和使用,很多文章都有介绍,但是很少看到文章介绍得更深入一些。

    通常情况下,客户端调用SetProperty来通知其他客户端进行更新,响应OnSync来处理更新的结果,但是怎么知道是哪些属性发生了变化呢?

    SharedObject.onSync的作用是当远程的SharedObject对象发生变化时则调用此程序并得到一个objArray对象数组,从objArray中可以方便的得知是SharedObject中的哪个属性发生了变化。

    objArray中的每个对象拥有3个属性:code, name, and oldValue. 从属性code中可以反映出SharedObject发生了什么变化,属性name可以反映出发生变化的SharedObject属性的名字。

    myRemoteSharedObject.onSync = function(objArray)

   {

      for (var i in objArray)

         {

            if (objArray[i].code == "change")

            { //objArray[i].name have changed

            }

         }

    }

    code的值包括:"clear", "success", "reject", "change", and "delete"

clear:表示你连接的远程SharedObject不是永久对象或者SharedObject对象的属性都已删除。
success:表示自己对SharedObject的某一属性的值进行了修改。
reject:表示自己对SharedObject的某一属性的值进行的修改被拒绝。
change:表示其他客户端对SharedObject的某一属性的值进行了修改。
delete:表示SharedObject的某一属性被删除。

    通过这些属性可以让我们很方便的得到服务器传来的信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐