Не могу найти никакого решения для этого. Я пытаюсь сохранить некоторые данные на удаленном общем объекте и получить их. На данный момент я работаю локально. Во всяком случае, я прочитал, наверное, все сообщения в Интернете об этом и до сих пор не могу понять, в чем моя проблема. Мне удалось сохранить аргументы в 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 между flex и red5. Я могу создавать, но не могу читать