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

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

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

Регистрация: Feb 2006
Сообщений: 19
По умолчанию Динамическая загрузка XML по таймеру

Здравствуйте уважаемые господа флешеры и флексеры
Столкнулся с такой проблемой, уж не знаю как решить, суть совсем нетривиальна

Есть некое приложение, радио, которое при загрузке подгружает список каналов из xml с сервера. Так вот, если интернет соединение у клиента не работает, выводится сообщение что соединение потеряно, и пытается загрузить ещё раз, как только соединение восстанавливается, происходит загрузка, звучат фанфары и все ликуют. Но на деле же выходит немного не так. Если на момент запуска соединение есть, то загрузка идет. Но если соединения нет, а через пару секунд восстанавливаю (denwer) то загрузка всё-равно не происходит
Код AS3:
/*Born вызывается когда приложение создано*/
private function Born():void
{
        myLoaderDress.load(myXMLDRESS);
	myLoaderDress.addEventListener(IOErrorEvent.IO_ERROR, errorXml);
	myLoaderDress.addEventListener(Event.COMPLETE, xmlLoaded);
}
public var ServerURL:String = "http://trancelaciya.com/radio";
private var myCast:XML = new XML();
private var XML_CAST:String = "http://trancelaciya.com/radio/radio_list.xml";
private var myXMLCAST:URLRequest = new URLRequest(XML_CAST);
private var myLoaderCast:URLLoader = new URLLoader(myXMLCAST);
private var timer:Timer = new Timer(1000);
 
private function errorXml(event:Event):void
{
	timer.addEventListener(TimerEvent.TIMER, loadXML);
	Trace("Соединение с сервером потеряно");
	timer.start();
}
private function loadXML(event:TimerEvent):void
{
	myLoaderCast.load(new URLRequest(XML_DRESS));
	Trace("Загрузка списка. Попытка № "+event.currentTarget.currentCount);
}
private function xmlLoaded(event:Event):void
{
	Trace("Список станций загружен");
	timer.removeEventListener(TimerEvent.TIMER, loadXML);
	timer.stop();
}
Заранее спасибо!
__________________
Fide, sed cui, vide

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

Теги
timer , urlloader , xml
Опции темы
Опции просмотра

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

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


 


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


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