2010-07-03 4 views
0

Adobe Air 2에서 AS3을 사용하는 앱을 제작 중이며 사용자의 IP 주소를 받아야합니다. 이 코드는 작동하지만 추적하는 것으로 이해합니다. ":: 1"이 ip가 아닙니다. 고맙습니다.Adobe Air 2로 IP 주소 받기

var netInterfaces = NetworkInfo.networkInfo.findInterfaces(); 

var addresses = netInterfaces[0].addresses; 

var userIp = addresses[0].address; 

trace(userIp); 

답변

0

작성한 코드는 실제로 찾은 첫 번째 네트워크 인터페이스의 IP 주소를 반환합니다. 이이 경우에 IP 주소가 127.0.0.1 것 IP4와 로컬 연결

에 사용되는 소위 루프백 장치입니다

는 IP6와 IP-ADRESS는 :: 1

+0

촬영을 시도 ?? (그리고 나는 IPv6가 쓰레기를 혼란스럽게 할 때만이다.) –

+0

은 공기 응용 프로그램이 서버에 연결하는 데 사용하는 주소를 알고 싶으면 서버 측에서 가져 오려고 시도하고, 모든 주소를 원하지만 localhost 주소를 확인하려면 netInterfaces.name 속성을 확인하십시오. ip4 주소 만 원하는 경우 유형별 주소 배열의 주소를 필터링하십시오. –

6

하는 경우입니다 당신이 진짜 IP가 아닌 로컬 호스트를 원하는,이 사용

: 당신은 안드로이드에 경우

private function getIp():String{ 
    var netInterfaces:Vector.<NetworkInterface> = NetworkInfo.networkInfo.findInterfaces(); 
    var addresses:Vector.<InterfaceAddress> = netInterfaces[1].addresses; 
    return addresses[0].address;  
} 

하면, 권한을 설정하는 것을 잊지 마세요

+0

및 안드로이드에서 사용 권한을 설정하는 것을 잊지 마세요 : MyFlashLab

0

(10)는 어떻게이 다음 수행 할 수 있습니다,이

var netInterfaces:Vector.<NetworkInterface> = NetworkInfo.networkInfo.findInterfaces(); 
if (netInterfaces && netInterfaces.length > 0) {  
    for each (var i:NetworkInterface in netInterfaces) { 
    if (i.active) { 
     var addresses:Vector.<InterfaceAddress> =i.addresses; 
     for each (var j:InterfaceAddress in addresses) { 
     trace("- Host : " + j.address);   
     } 
    } 
    } 
}