我正在创建一个本地应用程序,它将成为一个swf文件。无论如何都要检查用户在使用我的应用程序时是否有互联网。我试过this,如果从flash中测试电影,它会很有效,但是,当单独运行swf文件时它不起作用。我猜这是因为它严格用于空中应用程序。
我需要的是:
var isNet:Boolean;
setInterval(checkNet, 1000);
function checkNet():void{
if(netAvailable)
isNet=true;
}else{
isNet=false;
}
所以,当我的网线被连接时它开始是真的,当我拔掉它时,它将它设置为假。
我能做到这一点吗?
*我尝试将一个小的xml文件放在网络服务器上并用urlrequest加载它而没有运气。
感谢您的帮助。
答案 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); }