|
|
|||||
Регистрация: Dec 2012
Адрес: Москва
Сообщений: 6
|
Онлайн передача данных
Проблема следующая:
Нужно как то сделать передачу данных которая будет проверяться в РеалТайм режиме (онлайн). данные изменяются постоянно, и нужно отлавливать и показывать также быстро, как они и записываются. Т.е. как вообще сделать Клиент Сервер на ActionScript 3.0, если пишешь сам код на Флешь Буилдере, без кадровых анимашек... нужно чтобы передача данных работала в обработчике событий: private function onEnterFrame(e:Event):void { // обработка событий // показать данные Пользователь1 (допустим. данные берутся из user1.txt) } Может кто сталкивался с такой проблемой? |
|
|||||
Регистрация: Dec 2006
Сообщений: 1,764
|
Ktulhu999, а сами как делаете загрузку, покажите код
__________________
а за окном атлантический океан! |
|
|||||
Регистрация: Dec 2012
Адрес: Москва
Сообщений: 6
|
Покажу на примере Отображения времени:
Инициализируем переменные: private var urlRequest:URLRequest = new URLRequest("gettime.php"); private var urlLoader:URLLoader = new URLLoader(); urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES; urlLoader.addEventListener(Event.COMPLETE, onComplete); protected function onComplete(event:Event):void { mes1.appendText(loader.data.curtime+"\n"); // Вывод в Текстовое поле данных вернувшихся из PHP } private function onEnterFrame(e:Event):void { urlLoader.load(urlRequest); // обращаемся к PHP и берем оттуда дату } При запуске, проходит где то проходов 30-40 - И всё виснит... потом если убрать Фокус с окна, отвисает, или работает в фоновом режиме, либо намертво Умирает... ((( Добавлено через 29 минут Неожиданное рядом! Всем Спасибо! НО... Думал уже всё, пойду за верёвкой и мылом, как вдруг дружище запустил это дело на IE, а потом я и сам запустил на IE - Всё работает как часы, не глючит. не тормозит не зависат... новый вопрос: Почему Зависает данный процесс в браузерах Firefox и Chrome, а в IE - работет!? И главное: Как это починить? Кто знает? |
|
|||||
Регистрация: Mar 2007
Сообщений: 319
|
private function onEnterFrame(e:Event):void { urlLoader.load(urlRequest); // обращаемся к PHP и берем оттуда дату } Причиной может быть то, что этих запросов очень много появляется (или может просто реюзается тот же URLLoader без получения ответа на предыдущий запрос), максимум 15 вроде можно. Нужно делать очередь запросов, где каждый следующий запрос будет ждать ответа на предыдущий если в очереди не пусто, ну и запрос должен проходить валидацию на то что нужно ли всё ещё отправлять его или нет, так как предыдущий запрос может изменить данные. А если тебе нужно всегда поддерживать соединение и получать информацию при изменении, используй сокет клиент-сервер. |
|
|||||
Banned
|
Вместо onEnterFrame функции напиши это:
{ loadUpdate(); } private function loadUpdate():void { urlLoader.load(urlRequest); urlLoader.addEventListener(Event.COMPLETE, onCompleteLoadingUpdate); } private function onCompleteLoadingUpdate(e:Event):void { urlLoader.removeEventListener(Event.COMPLETE, onCompleteLoadingUpdate); update(urlLoader.data); loadUpdate(); } private function update(data:String):void { trace('Загрузка завершена, тут выполните свои действия после загрузки.'); } |
|
|||||
Регистрация: Dec 2012
Адрес: Москва
Сообщений: 6
|
Друзья, всем спасибо...
Перепробовал любые способы, и потоковые данные, и ограничение доступа, и последовательное обращение, и даже обращение с паузой, пофигу... Проблема Осталась та же! В IE - работает "ВСЁ", в Файере не работает "НИЧЕГО"... так что начинаю подозревать, что есть может какая то трабла с выводом данных, может быть сам TextField глючит, или это фундаментальная ошибка в FireFox... напишу им в поддержку, может это их касяк! Всем спасибо. Последний раз редактировалось iNils; 25.12.2012 в 10:42. |
|
|||||
Регистрация: Dec 2012
Адрес: Москва
Сообщений: 6
|
Я код представил! что в нем интересно кривого? По мне так вообще ничего нет, просто вывод запрошеных данных в цикле, и совершенно не важно сколько раз я беру запрос. Я бы согласился бы с этим утверждением, если бы сам Сервер Вешало, от запросов к одному и тому же фалу N*M раз... Но с этим все в порядке!
и тогда вообще Как Вы объясните, что мой "кривой" код в IE - работает, а в FireFox-е - нет???? |
Часовой пояс GMT +4, время: 15:18. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|