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

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

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

Регистрация: May 2009
Сообщений: 14
По умолчанию «Зависает» loader.load() на медленном интернете

Здравствуйте.
Нагуглил не один топик с такой же проблемой, но нигде нет решения. На Флешере такой темы не нашёл, поэтому осмелюсь задать этот вопрос и тут

Проблема появляется только на медленном интернете. Загрузка стартует, раз за разом ловим ProgressEvent, потом в случайном месте загрузка прерывается и всё, больше с этого места она не сдвигается. Никаких ивентов не выдаёт.

Если повторять запрос по таймеру (например, если не получаем следующий ProgressEvent в течении N секунд), то не всегда получается попадать в кеш. То 200 ОК, то 206 Partial Content (с последующей докачкой, соотвественно). Но это варварский способ.

К слову, на loader.close() и loader.unload() реакции тоже нет. А IO Error при выключении инета ловит на ура. Не советовать же пользователям рестартовать интернет...

Несмотря на то, что проблема явно не в коде, а в топорности подхода — любая игрушка в соцсети так же будет зависать (но там даже о IO не заботятся ) — привожу пример кода:
Код AS3:
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, _onLoadComplete);
_loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, _onLoadProgress);
_loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, _onSecurityError);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, _onIOError);
_loader.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, _onStatus);
_loader.contentLoaderInfo.addEventListener(Event.INIT, _onInit);
_loader.contentLoaderInfo.addEventListener(Event.OPEN, _onOpen);
_loader.contentLoaderInfo.addEventListener(Event.UNLOAD, _onUnLoad);
 
_loadOpened = false;
_loader.load(new URLRequest(_url), _context);
Может уже кто-то изобрёл велосипед, который я пытаюсь собрать сейчас? Благодарю за любые идеи/советы.

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

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

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


 


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


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