Я пытаюсь использовать URLLoader для загрузки файла XML с сервера (того же домена, что и SWF).Это должно быть слишком просто, но я получаю Ошибка # 2032: Ошибка потока
Если я отслеживаю событие состояния HTTP, оно просто показывает status = 0 , хотя я прочиталчто Mozilla не предоставляет коды состояния для Flash Player, так что, возможно, это не информативно.
Я прослушал HTTP-трафик с Чарльзом, и Flash даже не пытается загрузить URL-адрес - запрос не сделан, поэтомудаже не дает сбоя.
Я могу перейти к URL-адресу, который находится на внутреннем URL-адресе, который выглядит следующим образом: http://media.project:8080/audio/playlist.xml
Я попытался поместить туда crossdomain.xml (си без to-ports = "8080" ), хотя он не нужен.
Ни события onOpen, ни onActivate не запускаются, только один HTTPStatus и затем IOError.
Я скопировал общий код URLLoader из примера Adobe, мой выглядит так:
public class PlaylistLoader extends EventDispatcher
{
public var xmlLoader:URLLoader;
public var url:String = '';
public function PlaylistLoader(url:String)
{
url = url;
trace(url);
xmlLoader = new URLLoader();
xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
xmlLoader.addEventListener(Event.COMPLETE, onResult);
xmlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
xmlLoader.addEventListener(Event.OPEN, onOpen);
xmlLoader.addEventListener(Event.ACTIVATE, onActivate);
}
public function loadData():void {
var req:URLRequest = new URLRequest(url);
trace(req);
xmlLoader.load(req);
}
protected function onResult(e:Event):void
{
var xmlData:XML = e.target.data as XML;
parseData(xmlData);
}
private function httpStatusHandler(event:HTTPStatusEvent):void {
trace("httpStatusHandler: " + event);
}
protected function onOpen(e:Event):void
{
trace(e);
}
protected function onActivate(e:Event):void
{
trace(e);
}
protected function onIOError(e:IOErrorEvent):void
{
trace(e);
}