package {
import flash.desktop.*;
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
import flash.text.*;
import air.net.*;
//ネットワーク接続のモニタリング
public class NetworkMonitorEx extends Sprite {
private var textField:TextField; //テキストフィールド
private var urlMonitor:URLMonitor; //URLモニター
private var socketMonitor:SocketMonitor;//ソケットモニター
//コンストラクタ
public function NetworkMonitorEx() {
//テキストフィールドの生成
textField=new TextField();
textField.text="NetworkMonitorEx\n\n";
textField.autoSize=TextFieldAutoSize.LEFT;
addChild(textField);
//ネットワーク変更イベントの追加
NativeApplication.nativeApplication.addEventListener(
Event.NETWORK_CHANGE,onNetworkChange);
//URLモニター の生成
urlMonitor=new URLMonitor(new URLRequest("http://npaka.net/"));
urlMonitor.addEventListener(
StatusEvent.STATUS,onURLStatus);
urlMonitor.start();
//ソケットモニターの生成
socketMonitor=new SocketMonitor("npaka.net",80);
socketMonitor.addEventListener(
StatusEvent.STATUS,onSocketStatus);
socketMonitor.start();
}
//ネットワーク変更イベントの処理
private function onNetworkChange(event:Event):void {
textField.appendText("ネットワーク変更\n");
}
//URLモニターイベントの処理
private function onURLStatus(event:StatusEvent):void {
textField.appendText("URLモニター:"+urlMonitor.available+"\n");
}
//ソケットモニターイベントの処理
private function onSocketStatus(event:StatusEvent):void {
textField.appendText("ソケットモニター:"+socketMonitor.available+"\n");
}
}
}
|