Приложение Facebook, использующее Flash AS3 URLRequest, время от времени возвращает IOErrorEvent s

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

Для большинства пользователей это работает нормально и по назначению. Проблема в том, что разные пользователи получают эту ошибку в случайное время и в разных браузерах [ioErrorHandler: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032]

Это трудно воссоздать с моей стороны, и несколько раз, когда я воссоздавал событие, я проверял сетевой запрос с помощью FireBug и обнаружил, что он никогда не закрывался и никогда не получал ответа.

Обновление и повторное выполнение того же действия не приводит к повторному возникновению ошибки.


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


Ответы (3)


Запросы Graph API будут отправлять ответ HTTP 400 при ошибке, которая приводит к IOErrorEvent. К сожалению, Flash, кажется, отбрасывает содержимое этой ошибки, но если бы вы могли зарегистрировать URI, вызвавший событие, а затем запустить его с помощью завитка и т. Д., Это должно помочь вам отследить, что может быть причиной этого.

Если бы мне пришлось предположить, я бы предположил, что срок действия токена доступа вашего пользователя, возможно, истек. Проверьте: 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