远程共享对象Fms Flex 4的问题
|
我正在尝试开发一个应用程序,其中多个同时用户可以进行交互,并且我需要一个持久的远程共享对象以及当前会话中的用户列表。
当新用户进入会话时,他将获得带有列表的服务器对象。该列表被认为可以使所有其他用户都参与会话,但未定义。
我先这样做:
users_so = SharedObject.getRemote(\"users_so\", nc.uri, true);
users_so.connect( nc );
users_so.addEventListener( SyncEvent.SYNC, usersSyncHandler );
然后我将属性设置为共享对象
remoteUsers = new ArrayCollection();
remoteUsers.addItem(displayName);
users_so.setProperty(\"usersID\", remoteUsers);
最后,我将用户列入列表。
谢谢!
没有找到相关结果
已邀请:
2 个回复
悲帽慑彤电
SharedObject不知道您更改了ArrayCollection的内容,因为对它的引用没有更改。您可以使用setDirty()强制同步。 注意:SharedObject.setProperty() 方法实现setDirty() 方法。在大多数情况下,例如 属性的值是原始值 类型,例如字符串或数字,您将 使用setProperty()代替setDirty。 但是,当一个属性的值 是一个包含自己的对象 属性,使用setDirty()指示 当对象中的值具有 改变了。一般来说,这是个好主意 调用setProperty()而不是 setDirty(),因为setProperty() 仅在以下情况下更新属性值 这个价值已经改变,而 setDirty()强制同步 所有订阅的客户。 我为此使用简单的动态对象。客户端具有只读的SharedObject,服务器决定何时从此SharedObject添加/删除客户端。
是
(远程),
是
(本地)
目浆搽