flash检测网络是否通畅

air:

要在 Adobe ® Flash ® Professional(CS4 或更高版本)中使用 air.net 包:

  1. 选择“文件”>“发布设置”命令。
  2. 在 Flash 面板中,单击 ActionScript 3.0 对应的“设置”按钮。选择“库路径”。
  3. 单击“浏览到 SWC 文件”按钮。浏览到 Adobe Flash Professional 安装文件夹中的 Adobe Flash CSn/AIKn.n/frameworks/libs/air/aircore.swc 文件。
  4. 单击“确定”按钮。
  5. 将下面的 import 语句添加到 ActionScript 3.0 代码中:import air.net.*;
  6. 建立文档类,并在舞台添加test_txt 动态文本框

package {

import flash.display.MovieClip;
import air.net.URLMonitor;
import flash.net.URLRequest;
import flash.events.StatusEvent;


public class Main extends MovieClip {

private var monitor:URLMonitor;

public function Main()
{

checkInterNet();
}

private function checkInterNet():void
{
monitor = new URLMonitor(new URLRequest("http://www.baidu.com"));
monitor.addEventListener(StatusEvent.STATUS, checkHTTP);
monitor.start();

}

private function checkHTTP(event:StatusEvent):void
{
if (monitor.available)
{
test_txt.text ="Internet is available";
}
else
{
test_txt.text ="No internet connection available";
}

}

}

}

非Air 方向,一般请求网络不成功的都会报IoError错误,如果没有的话,可以自己请求某服务器(如百度)不成功就视为无网络连接。

例:

package {
import flash.net.URLLoader;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.net.URLRequest;
import flash.errors.IOError;

public class HttpRequest {

private var _urlLoad:URLLoader;

public function HttpRequest()
{
_urlLoad = new URLLoader();

_urlLoad.addEventListener(Event.COMPLETE,loadHandler);
_urlLoad.addEventListener(IOErrorEvent.IO_ERROR,loadHandler);

var urlRequst:URLRequest = new URLRequest("https://www.baidu.com/");

try
{
_urlLoad.load(urlRequst);

}
catch(event:IOError)
{
trace("io error");

}


}

private function loadHandler(event:Event):void
{
switch(event.type)
{
case Event.COMPLETE:

trace("complete::",_urlLoad.data);
break;
case IOErrorEvent.IO_ERROR:
trace(IOErrorEvent.IO_ERROR,"服务器连接错误!");
break;
}
}

}

}

可在文档类new 一个HttpRequest 实例,便可检测有无网络连接。

原文地址:https://www.cnblogs.com/-yan/p/4527366.html