Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.12.2012, 17:37
Ktulhu999 вне форума Посмотреть профиль Отправить личное сообщение для Ktulhu999 Найти все сообщения от Ktulhu999
  № 1  
Ответить с цитированием
Ktulhu999
 
Аватар для Ktulhu999

Регистрация: Dec 2012
Адрес: Москва
Сообщений: 6
Question Онлайн передача данных

Проблема следующая:
Нужно как то сделать передачу данных которая будет проверяться в РеалТайм режиме (онлайн).
данные изменяются постоянно, и нужно отлавливать и показывать также быстро, как они и записываются.

Т.е. как вообще сделать Клиент Сервер на ActionScript 3.0, если пишешь сам код на Флешь Буилдере, без кадровых анимашек...

нужно чтобы передача данных работала в обработчике событий:

Код AS3:
private function onEnterFrame(e:Event):void {
// обработка событий
// показать данные Пользователь1 (допустим. данные берутся из user1.txt)
}
С сохранением проблем нет, а вот с загрузкой есть, не грузиться в онлайн режиме, работает несколько секунд, делает 2-3 итерации и глохнет!

Может кто сталкивался с такой проблемой?

Старый 24.12.2012, 17:45
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 2  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Ktulhu999, для оформления кода используйте теги [as3][/as3]
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 24.12.2012, 17:53
NikolyA вне форума Посмотреть профиль Отправить личное сообщение для NikolyA Найти все сообщения от NikolyA
  № 3  
Ответить с цитированием
NikolyA
 
Аватар для NikolyA

Регистрация: Dec 2006
Сообщений: 1,764
Ktulhu999, а сами как делаете загрузку, покажите код
__________________
а за окном атлантический океан!

Старый 24.12.2012, 18:12
Ktulhu999 вне форума Посмотреть профиль Отправить личное сообщение для Ktulhu999 Найти все сообщения от Ktulhu999
  № 4  
Ответить с цитированием
Ktulhu999
 
Аватар для Ktulhu999

Регистрация: Dec 2012
Адрес: Москва
Сообщений: 6
Покажу на примере Отображения времени:

Инициализируем переменные:
Код AS3:
private var urlRequest:URLRequest = new URLRequest("gettime.php");
private var urlLoader:URLLoader = new URLLoader();
Потом Инициализируем данные:
Код AS3:
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES; 
urlLoader.addEventListener(Event.COMPLETE, onComplete);
Где:
Код AS3:
protected function onComplete(event:Event):void {
mes1.appendText(loader.data.curtime+"\n"); // Вывод в Текстовое поле данных вернувшихся из PHP
}
Потом в Обработчике событий кадров:
Код AS3:
private function onEnterFrame(e:Event):void {
urlLoader.load(urlRequest); // обращаемся к PHP и берем оттуда дату
}
А вот и сам PHP:
PHP код:
<?php
    $curtime
=date("d.m.Y - h.i.s");
    echo 
'curtime='.$curtime;
?>
При запуске, проходит где то проходов 30-40 - И всё виснит... потом если убрать Фокус с окна, отвисает, или работает в фоновом режиме, либо намертво Умирает... (((

Добавлено через 29 минут
Неожиданное рядом!
Всем Спасибо! НО...

Думал уже всё, пойду за верёвкой и мылом, как вдруг дружище запустил это дело на IE,
а потом я и сам запустил на IE - Всё работает как часы, не глючит. не тормозит не зависат...

новый вопрос: Почему Зависает данный процесс в браузерах Firefox и Chrome, а в IE - работет!?
И главное: Как это починить? Кто знает?

Старый 24.12.2012, 23:31
Nooob вне форума Посмотреть профиль Отправить личное сообщение для Nooob Найти все сообщения от Nooob
  № 5  
Ответить с цитированием
Nooob
 
Аватар для Nooob

Регистрация: Mar 2007
Сообщений: 319
Код AS3:
private function onEnterFrame(e:Event):void {
urlLoader.load(urlRequest); // обращаемся к PHP и берем оттуда дату
}
Каждый кадр шлёшь запрос. Нельзя так делать.
Причиной может быть то, что этих запросов очень много появляется (или может просто реюзается тот же URLLoader без получения ответа на предыдущий запрос), максимум 15 вроде можно. Нужно делать очередь запросов, где каждый следующий запрос будет ждать ответа на предыдущий если в очереди не пусто, ну и запрос должен проходить валидацию на то что нужно ли всё ещё отправлять его или нет, так как предыдущий запрос может изменить данные.
А если тебе нужно всегда поддерживать соединение и получать информацию при изменении, используй сокет клиент-сервер.

Старый 25.12.2012, 01:53
goWalk вне форума Посмотреть профиль Найти все сообщения от goWalk
  № 6  
Ответить с цитированием
goWalk
Banned

Регистрация: Aug 2012
Адрес: Mars: -333; -333;
Сообщений: 87
Записей в блоге: 2
Вместо onEnterFrame функции напиши это:
Код AS3:
{
    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('Загрузка завершена, тут выполните свои действия после загрузки.');
}

Старый 25.12.2012, 10:13
Ktulhu999 вне форума Посмотреть профиль Отправить личное сообщение для Ktulhu999 Найти все сообщения от Ktulhu999
  № 7  
Ответить с цитированием
Ktulhu999
 
Аватар для Ktulhu999

Регистрация: Dec 2012
Адрес: Москва
Сообщений: 6
Друзья, всем спасибо...

Перепробовал любые способы, и потоковые данные, и ограничение доступа, и последовательное обращение, и даже обращение с паузой, пофигу... Проблема Осталась та же!

В IE - работает "ВСЁ", в Файере не работает "НИЧЕГО"... так что начинаю подозревать, что есть может какая то трабла с выводом данных, может быть сам TextField глючит, или это фундаментальная ошибка в FireFox... напишу им в поддержку, может это их касяк!

Всем спасибо.


Последний раз редактировалось iNils; 25.12.2012 в 10:42.
Старый 25.12.2012, 10:42
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 8  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
напишу им в поддержку, может это их касяк!
Бесполезная трата времени. Плагин то не их, а адобовский. А в адоби это даже читать не будут.
Тем более что нет в текстфилде никаких проблем.

Старый 25.12.2012, 10:46
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Цитата:
Сообщение от Ktulhu999 Посмотреть сообщение
или это фундаментальная ошибка в FireFox... напишу им в поддержку, может это их касяк!
Это косяк кривого кода, браузер тут точно не причем.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 25.12.2012, 19:08
Ktulhu999 вне форума Посмотреть профиль Отправить личное сообщение для Ktulhu999 Найти все сообщения от Ktulhu999
  № 10  
Ответить с цитированием
Ktulhu999
 
Аватар для Ktulhu999

Регистрация: Dec 2012
Адрес: Москва
Сообщений: 6
Цитата:
Сообщение от iNils Посмотреть сообщение
Это косяк кривого кода, браузер тут точно не причем.
Я код представил! что в нем интересно кривого? По мне так вообще ничего нет, просто вывод запрошеных данных в цикле, и совершенно не важно сколько раз я беру запрос. Я бы согласился бы с этим утверждением, если бы сам Сервер Вешало, от запросов к одному и тому же фалу N*M раз... Но с этим все в порядке!

и тогда вообще Как Вы объясните, что мой "кривой" код в IE - работает, а в FireFox-е - нет????

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:18.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:18.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.