サーバー側で作成されたsharedObject内にすべてのユーザーを保存しようとしているので、すべてのユーザーがすべてのオンラインユーザーの同期リストを取得します。
サーバー側でsharedObjectを正しく作成したと思いますが、フラッシュアプリケーションでsharedObjectを「見つける」ことができません。
Java Red5アプリケーションクラス内:
ISharedObject userList;
public boolean connect(IConnection conn, IScope scope, Object[] params)
{
if(userList == null)
{
createSharedObject(scope, "userList", false);
userList = getSharedObject(scope, "userList");
}
userList.setAttribute( "user", "some name" );
return true;
}
FlashsharedObjectは次のようになります。
private var _userSO:SharedObject;
private function initUserSO() // I call this function when I get a netConnection
{
_userSO = SharedObject.getRemote("userList", this.uri, false);
_userSO.addEventListener(SyncEvent.SYNC,syncUsers);
_userSO.connect(this); // this = netconnection
}
private function syncUsers(e:SyncEvent):void
{
MonsterDebugger.trace('userManager',_userSO.data);
}
しかし、_userSOはサーバー上でsharedObjectを見つけていないようです。