Я использую SharedObject для создания простого приложения чата. SharedObject был создан отлично, и мое приложение могло получать событие синхронизации, когда другие клиенты обновляют данные на SO. Однако проблема возникает, когда мое приложение пытается сохранить данные в SO, чтобы сигнализировать другим клиентам. Я подтвердил, что данные были изменены, используя следующий код:SharedObject: может получать событие от других клиентов, но никогда не запускает событие после сохранения данных
trace("before:"+so.data.chatMessage);
so.data.chatMessage = msg.text;
trace("after:"+so.data.chatMessage);
Он сказал «перед: аЬс» и «после того, как: DEF». К сожалению, ни одно из клиентов не получило событие синхронизации после того, как данные о SO изменились, включая клиента, который сам изменил данные. Таким образом, это означает, что этот клиент может получить сообщение другого клиента, но само сообщение никогда не выйдет.
Кто-нибудь видел такую проблему раньше? Спасибо, Джек
Вы использовали 'so.flush()'? – Vesper
Я этого не знал. Вызов so.flush привел к ошибке «Ошибка: ошибка # 2130: невозможно слить SharedObject». Однако он не распечатывал внутреннюю ошибку. Поэтому, похоже, проблема в том, что флеш не может быть успешным ... Любая идея, как это может произойти? Благодарю. –
@Vesper, BTW, я создал SO, используя getRemote, вместо getLoal, мне еще нужно вызвать so.flush()? Я прочитал документацию, и мне было не очень ясно, был ли вызов flush() для обоих getLocal() и getRemote() SO. –