无法找到任何解决方案。我试图将一些数据存储在远程共享对象上并检索它。目前我在当地工作。无论如何,我可能阅读了互联网上关于这一点的所有帖子,但仍然无法理解我的问题在哪里。我设法在rso上存储参数,但是当我试图接收这些值时,我只是未定义。 这是我的版本代码,当我只与客户端一起工作时,在服务器端只看客户端连接到共享对象或更改值。
protected function application1_creationCompleteHandler(event:FlexEvent):void {
var room_id:Number = vars("room");
connection = new NetConnection();
connection.connect("rtmp://127.0.0.1/video/" + room_id);
connection.addEventListener(NetStatusEvent.NET_STATUS, onConnected);
connection.client = this;
}
private function onConnected(event:NetStatusEvent) : void {
if(event.info.code == "NetConnection.Connect.Success") {
so = SharedObject.getRemote("video", connection.uri, true);
so.addEventListener(SyncEvent.SYNC, onSync);
so.connect(connection);
// if i try to trace so in there it will be undefined
} else {
Alert.show("Unsuccessful Connection", "Information");
}
最后:
private function onSync(event:SyncEvent):void {
for(var i:Object in event.changeList) {
var changeObj:Object = event.changeList[i];
switch(changeObj.code) {
case "success":
if(so.data.cameras) {
Alert.show(this.so.data.cameras.toString(), "I changed it");
} else {
Alert.show("I changed", "Information");
}
break;
case "change":
if(so.data.cameras)
Alert.show(so.data.cameras.toString(), "First");
else if (this.so.data.cameras) {
Alert.show(this.so.data.cameras.toString(), "Second");
} else {
Alert.show("Can't found changed value", "Error");
}
break;
}
}
}
在这里,我总是得到cameras
的未定义值,除非我正在改变值的客户端,但其他人都得到未定义的值。所以我无法理解,所有听众都注意到了变化,在服务器端代码我看到我有变化,我甚至打开持久的red5共享对象文件,我看到有价值,但我只是无法检索它。有人有解决方案吗?我将非常感激。
更新 答案在这里:rso between flex and red5. I can create but cant read