Приложението Facebook, използващо Flash AS3 URLRequest, спорадично връща IOErrorEvent s

Имам базирано на Flash приложение за Facebook, работещо в iFrame, което прави редовни URLRequest .load() извиквания към сървъра, за да зададе и получи информация за играта на потребителя.

За повечето потребители това работи добре и по предназначение. Проблемът е, че различни потребители получават тази грешка в произволни моменти и на произволни браузъри [ioErrorHandler: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032]

Това е трудно да се пресъздаде от моя страна и няколко пъти, когато пресъздадох събитието, проверих Net заявката с помощта на FireBug и открих, че никога не се затваря и никога не получава отговор.

Опресняването и повторното следване на същото действие не пресъздава грешката.


person Get the Jaws of Life    schedule 18.07.2011    source източник


Отговори (3)


Graph API заявките ще изпратят HTTP 400 отговор при грешка, което води до IOErrorEvent. За съжаление Flash изглежда изхвърля съдържанието на тази грешка, но ако можете да регистрирате URI, който е причинил събитието, и след това да го задействате чрез curl и т.н., това би трябвало да ви помогне да откриете какво може да го причинява.

Ако трябваше да предположа, бих се съгласил, че токенът за достъп на вашия потребител може да е изтекъл. Вижте: http://developers.facebook.com/blog/post/500

person Constantin Koumouzelis    schedule 19.07.2011

Най-добрият залог би бил да се справите с грешката елегантно (като повторно заявяване на url) и да регистрирате възможно най-много за грешката, така че да можете да предоставите по-подробно описание в бъдеще.

person squinlan    schedule 19.07.2011

Това може да се дължи на изчакване и трябва да се третира така:

myurlloader.addEventListener(IOErrorEvent.IO_ERROR, _handleError);

function handleError(e:IOErrorEvent):void
{
    // code to handle connection timeout
}
person Marty    schedule 19.07.2011