1

我正在使用 Flex 应用程序测试一个有很多客户端的系统。我看到一些意外行为,看起来像 eventListeners 或 bindSetters “停止监听”。

我似乎无法找到有关这些系统可靠性的在线文档。你们中有人对这件事有一些经验吗?

让我举一个我可以解决的例子:

要求:客户端需要每十秒向服务器发送一个命令

实现1:定时器和事件监听器

keepAliveTimer = new Timer(10000, 0);   
keepAliveTimer.addEventListener(TimerEvent.TIMER, registerClient);
keepAliveTimer.start();

发现的问题:有时一个或多个客户端在随机时间后停止发送该命令

实现2:用enterFrame替换定时器

 enterFrame="registerClient();"

问题似乎解决了……

这样的事情让我怀疑 eventListener 模型......

有这方面的经验吗?有用的信息?

非常感谢,弗兰克

4

1 回答 1

2

您可以尝试注册和删除监听器

public var keepAliveTimer:Timer;

private function initVerifyClient():void
{
    keepAliveTimer = new Timer(10000, 0);   
    keepAliveTimer.addEventListener(TimerEvent.TIMER, registerClient);
    keepAliveTimer.start();     
}

private function registerClient(e:TimerEvent):void
{
    keepAliveTimer.removeEventListener(TimerEvent.TIMER, registerClient);

    //YOUR SERVER VALIDATION CLIENT HERE

    keepAliveTimer.addEventListener(TimerEvent.TIMER, registerClient);
}
于 2013-11-18T16:39:50.340 回答