Получить IP-адрес с Adobe Air 2 - PullRequest
0 голосов
/ 03 июля 2010

Я создаю приложение в Adobe Air 2 с AS3 и мне нужно получить IP-адрес пользователя.Из того, что я понимаю, этот код должен работать, но отслеживает: ":: 1" не IP.Спасибо.

var netInterfaces = NetworkInfo.networkInfo.findInterfaces();

var addresses = netInterfaces[0].addresses;

var userIp = addresses[0].address;

trace(userIp);

Ответы [ 3 ]

6 голосов
/ 17 декабря 2011

Если вам нужен реальный IP, а не локальный хост, используйте это:

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

Если вы работаете на Android, не забудьте установить разрешения:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
0 голосов
/ 19 декабря 2011

Попробуйте это

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);           
      }
    }
  }
}
0 голосов
/ 03 июля 2010

Код, который вы написали, фактически возвращает IP-адрес первого найденного сетевого интерфейса. В вашем случае это так называемое устройство обратной связи, которое используется для локальных подключений

с IP4 IP-адрес будет 127.0.0.1

с IP6 IP-адрес: 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...