我想从我的网络服务器加载数据,我希望它是AJAX / Comet方式,我的网络服务器长期保存请求,直到发生事情才响应它。因此,我写了一些像这样的as3代码:
private function load(): void {
var request:URLRequest = new URLRequest(url);
var variables:URLVariables = new URLVariables();
variables.tick = this.tick;
request.data = variables;
urlLoader = new URLLoader(request);
urlLoader.addEventListener(Event.COMPLETE, onComplete);
urlLoader.addEventListener(IOErrorEvent.IO_ERROR , onIOError);
log.info("Loading info from {0}", request.url);
}
如果等待时间很短,它可以工作,但是,它因IOError 2032而失败,似乎等待时间已经结束。这是问题,如何使用as3进行长轮询并避免超时错误?
感谢。
答案 0 :(得分:2)
我建议将BlazeDS用于此类事情。如果你想构建自己的轮询机制,你可能会遇到很多问题,你将不得不编写很多代码。
关于您的问题,Flash播放器正在使用浏览器堆栈进行通信,因此即使您有html / js应用程序,您的请求也会失败。检查浏览器文档如何增加超时。
答案 1 :(得分:1)