Показать сообщение отдельно
Старый 26.11.2010, 15:30
Castro вне форума Посмотреть профиль Отправить личное сообщение для Castro Найти все сообщения от Castro
  № 1  
Ответить с цитированием
Castro

Регистрация: Sep 2009
Сообщений: 68
По умолчанию Вопрос по статусу HTTP

Чтобы проверять статус сервера я использую event:HTTPStatusEvent и оно конечно работает. Но вот сегодня сервер ребутили и мувик тупо остановился на выводе trace(variables) не выдав никакой информации.

Есть лит способ ещё как-то контролировать HTTP статус, чтобы узнать более точный ответ.
Мож по таймеру пытаться отправлять запрос, а потом вываливаться ошибкой что сервер лежет? Или как ещё?
Код AS3:
package 
{
	import flash.display.MovieClip;
	/*import flash.net.URLRequest;
	import flash.net.URLVariables; */
	import flash.events.*;
	//import flash.events.IEventDispatcher;
	import CurrentKPISelector;
	import Main;
	import flash.net.*;
	import com.greensock.*;
	import com.greensock.easing.*;
 
 
 
	public class XMLDataLoaderProd extends MovieClip
	{
         	private var req:URLRequest=new URLRequest();
		private var loader:URLLoader = new URLLoader();
		private var list:XMLList = new XMLList();
		private var regionsXML:XMLList = new XMLList();
		private var variables:URLVariables = new URLVariables();
 
 
		public function XMLDataLoaderProd()
		{
			update();
		}
 
		public function update():void
		{
			req.url = "data.php";
			req.method = URLRequestMethod.GET;
		        variables.level = displayLevel;
			req.data = variables;
			loader.dataFormat = URLLoaderDataFormat.TEXT;
			loader.addEventListener(Event.COMPLETE, completeHandler);
			loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
		}
 
		public function loadXMLData():void
		{
			try
			{
				update();
				loader.load(req);
				trace(variables);
			}
			catch (error:Error)
			{
				trace("Unable to load URL");
			}
		}
 
		private function completeHandler(event:Event)
		{
			try
			{
				//Паршу данные и записываю в массив объектов
				dispatchEvent(new Event("mapRegionDataArrayLoaded"));
			}
			catch (error:Error)
			{
				dispatchEvent(new Event("showInfoPanel"));
 
 
			}
		}
 
		private function httpStatusHandler(event:HTTPStatusEvent):void
		{
			trace("httpStatusHandler: " + event);
			trace("status: " + event.status);
		}
 
	}
 
}
Код немного почикан для уменьшения размера