Здравствуйте уважаемые господа флешеры и флексеры
Столкнулся с такой проблемой, уж не знаю как решить, суть совсем нетривиальна
Есть некое приложение, радио, которое при загрузке подгружает список каналов из 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();
}
Заранее спасибо!