Удаленный общий объект не определен - Red5

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


person Giedrius    schedule 20.09.2011    source источник
comment
Я думал, что сама природа общих объектов заключается в том, что они уникальны для каждого пользователя? Не всегда будет получать неопределенное значение камер, если только клиент, который меняет значение, не будет ожидаемым поведением?   -  person JeffryHouser    schedule 20.09.2011
comment
Хорошо, так что теперь я запутался. В чем смысл общих объектов, если они уникальны? Я не работаю с локальными общими объектами, я работаю с удаленными общими объектами, и в основном все слушатели получают уведомления об изменениях в этом удаленном общем объекте, и они могут изменить общий объект, я могу проверить значение объекта в файле, который хранится в папке приложения сервера red5, но они не могут его прочитать, только клиент, который вносит изменения, может прочитать его один раз, другие слушатели просто уведомляются об изменениях, но общий объект видеокамеры остается неопределенным.   -  person Giedrius    schedule 20.09.2011
comment
Общий объект рабочего стола — это, по сути, Flash Cookie. Он уникален для машины, которая его устанавливает. Я бы предположил, что удаленный общий объект аналогичен. В описании упоминается, что я неправильно понимаю, и удаленные общие объекты могут использоваться несколькими клиентами: flexrays.wordpress.com/2007/10/04/ . Передает ли каждое использование этого приложения один и тот же URI на сервер в методе getRemote()?   -  person JeffryHouser    schedule 20.09.2011
comment
да, все используют один и тот же URI, иначе они не уведомляли бы об изменениях и не могли бы внести в него изменения. Вот почему это так запутанно, не могу понять, что происходит, почему все слушатели уведомляются об изменениях и им разрешено записывать данные, но не разрешено читать и становится неопределенным.   -  person Giedrius    schedule 21.09.2011