我有一个 Adobe Air 桌面应用程序,最近用于一个事件,成千上万的人同时使用该应用程序在用作google.com
轮询 URL 时开始出现网络检查失败。每个应用程序每 3 秒检查一次该 URL,大约 10 分钟后,每个应用程序开始被重定向到 Google 上的验证页面,要求用户证明他们不是机器人,显然他们看不到,因此所有用户被告知他们没有互联网。我已经在使用 Akamai 的 Advanced Streaming 插件(基于 OSMF [使用 NetStream])进行视频流式传输。有没有更好的方法来检查网络连接(最好只使用现有的 NetStream 对象)。
这是网络监视器的现有代码:
public function checkNetwork(url:String):void {
var urlRequest:URLRequest = new URLRequest(url);
urlRequest.method = "GET";
urlMonitor = new URLMonitor(urlRequest);
urlMonitor.addEventListener(StatusEvent.STATUS,onStatusChange);
urlMonitor.pollInterval = 3000;
urlMonitor.start();
}
private function onStatusChange(event:StatusEvent):void {
if(urlMonitor.available) {
isNetworkDown = false;
dispatchEvent(new Event("NetworkManager.NETWORK_UP"));
}
else {
isNetworkDown = true;
dispatchEvent(new Event("NetworkManager.NETWORK_DOWN"));
}
}