代码之家  ›  专栏  ›  技术社区  ›  Patrick Gates

使用Adobe Air 2获取IP地址

  •  0
  • Patrick Gates  · 技术社区  · 14 年前

    我正在用AS3在adobeair2中构建一个应用程序,需要获得用户的ip地址。据我所知,这段代码应该工作,但是跟踪:“::1”不是一个ip。非常感谢。

    var netInterfaces = NetworkInfo.networkInfo.findInterfaces();
    
    var addresses = netInterfaces[0].addresses;
    
    var userIp = addresses[0].address;
    
    trace(userIp);
    
    3 回复  |  直到 14 年前
        1
  •  0
  •   Nikolaus Gradwohl    14 年前

    您编写的代码实际上返回它找到的第一个网络接口的ip地址。 在您的例子中,这就是所谓的用于本地连接的环回设备

    IP4的ip地址是127.0.0.1

        2
  •  6
  •   António Almeida Michal Drozd    8 年前

    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"/>
    
        3
  •  0
  •   DamsV    13 年前

    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);           
          }
        }
      }
    }