ActionScript2011.05.09 16:46
자신의 IP 외부에서 알아오기 함수

import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import mx.utils.StringUtil;

private var _ip:String = "127.0.0.1";
private var ipPattern:RegExp = /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/;
private var externalIpSites:Array =  ["http://xxx.xxx.xxx/findMyIP.php", "http://www.whatismyip.com/automation/n09230945.asp"];

private function getExternalIp():void {
    var loader:URLLoader = new URLLoader();
    configureListeners(loader);
    var request:URLRequest = new URLRequest(externalIpSites.shift());
    try {
        loader.load(request);
    }
    catch (e:Error) {
        trace("IpAddress getExternalIp :", e);
    }
}

private function configureListeners(dispatcher:IEventDispatcher):void {
    dispatcher.addEventListener(Event.COMPLETE, completeHandler);
    dispatcher.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
}
        
private function completeHandler(e:Event):void {
    var loader:URLLoader = URLLoader(e.target);
    var tmpIP:String = StringUtil.trim(loader.data);
    var ipCheck:int = -1;
    ipCheck = tmpIP.search(Config.ipPattern);
    if (ipCheck == 0) {
        _ip = tmpIP;
    }
}
        
private function errorHandler(e:IOErrorEvent):void {
    if (externalIpSites.length <= 0) {
        trace("IpAddress errorHandler :", e);
    }
    else {
        getExternalIp();
    }
}


신고

'ActionScript' 카테고리의 다른 글

웹서버  (0) 2011.05.11
자신의 IP 외부에서 알아오기  (0) 2011.05.09
랜카드에 할당된 IP 알아내기  (0) 2011.05.09
자동 업데이트  (0) 2011.05.09
AIR의 OS별 File.applicationStorageDirectory Paths  (0) 2011.03.15
DockIcon Click 이벤트 처리  (0) 2011.03.04
Posted by sanghwa

티스토리 툴바