Форум 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);
Может уже кто-то изобрёл велосипед, который я пытаюсь собрать сейчас? Благодарю за любые идеи/советы.

Старый 30.06.2011, 01:55
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 2  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 613
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
Успокойтесь. У кого данное наблюдается - уже привык жать F5 в браузере. Если кто-то что-то не отдаёт, это не вина плеера.

Старый 30.06.2011, 02:28
Anghram вне форума Посмотреть профиль Отправить личное сообщение для Anghram Найти все сообщения от Anghram
  № 3  
Ответить с цитированием
Anghram

Регистрация: May 2009
Сообщений: 14
Имея 300к уников в сутки, не могу быть спокоен, даже если 1% не могут загрузить флешку.

Но, как бы то ни было, рефреш не помогает. Поставил себе Йоту с "остаточным" тарифом 64кбит/с — ощутил все прелести диалапа. Таки в регионах очень большая аудитория сидит. На gprs и прочих радостях жизни.

Более того, рефреш убивает кеш. Со второго-третьего раза прелоадер показывает 0% и по фаребагу и чарльзу видно, что браузер даже не отправляет запрос в инет. Браузер считает, что файл загружен до конца и не делает запрос.

Старый 30.06.2011, 02:34
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 4  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 613
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
Что это у Вас там такое 300k? Может сервер прерывает соединение?

Старый 30.06.2011, 02:37
Anghram вне форума Посмотреть профиль Отправить личное сообщение для Anghram Найти все сообщения от Anghram
  № 5  
Ответить с цитированием
Anghram

Регистрация: May 2009
Сообщений: 14
Сервер справляется.

Напомню:
1. Проблема только с медленным инетом. Выключаю Йоту - всё работает. Но даже если он прерывал бы — было бы событие.
2. Проблема наблюдается в любой ёмкой флешке (к которой я не имею отношения, соответственно): любая флешовая мини-игра так же сорвётся на прелоадере.


Последний раз редактировалось Anghram; 30.06.2011 в 02:54.
Старый 30.06.2011, 02:57
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 6  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 613
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
Запихивайте всё внутрь основной флешки раз не можете смириться.

Старый 30.06.2011, 03:02
Anghram вне форума Посмотреть профиль Отправить личное сообщение для Anghram Найти все сообщения от Anghram
  № 7  
Ответить с цитированием
Anghram

Регистрация: May 2009
Сообщений: 14
Подход ясен, спасибо Хотелось бы перевести тему в русло поставленного вопроса: есть ли возможность возобновить «повисшее» соединение.

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

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

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


 


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


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