检查运行本地swf的Internet连接

时间:2011-06-07 03:04:18

标签: flash flex actionscript-3 constructor

我正在创建一个本地应用程序,它将成为一个swf文件。无论如何都要检查用户在使用我的应用程序时是否有互联网。我试过this,如果从flash中测试电影,它会很有效,但是,当单独运行swf文件时它不起作用。我猜这是因为它严格用于空中应用程序。

我需要的是:

var isNet:Boolean;
setInterval(checkNet, 1000);

function checkNet():void{
if(netAvailable)
 isNet=true;
}else{
 isNet=false;
}

所以,当我的网线被连接时它开始是真的,当我拔掉它时,它将它设置为假。

我能做到这一点吗?

*我尝试将一个小的xml文件放在网络服务器上并用urlrequest加载它而没有运气。

感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

Check out this question on StackOverflow;它可能有所帮助。您可以使用它来检查常规IP地址的可用性,例如4.2.2.2或8.8.8.8(Google DNS)。

答案 1 :(得分:0)

var urlLoader:URLLoader = new URLLoader();
    urlLoader.addEventListener(Event.COMPLETE, cbGetCardData );
    urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler );
    urlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler );


var request:URLRequest;
    request = new URLRequest( 'http://myDomain.com/someFileOnYourServer.html' );
    request.method = URLRequestMethod.POST;

try {
  urlLoader.load( request );
} catch (e:Error) {trace(e);}

private function ioErrorHandler( e:IOErrorEvent ):void{
  trace('This should fire if no network connection' )
}

private function securityErrorHandler( e:Event ):void{
  trace('securityErrorHandler')
}

答案 2 :(得分:0)

对于Air,您可以使用air.net.URLMonitor检查您的网络连接。

import air.net.URLMonitor;

import flash.net.URLRequest; import flash.events.StatusEvent;

var testURL:String =“http://www.google.com”; var testRequest:URLRequest = new URLRequest(testURL); var urlCheck:URLMonitor = new URLMonitor(testRequest); urlCheck.addEventListener(StatusEvent.STATUS,statusChanged); urlCheck.start();

function statusChanged(event:StatusEvent) {     trace(“我的状态是:”+ urlCheck.available); }