Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用AdobeAir2获取IP地址_Air_Actionscript 3 - Fatal编程技术网

使用AdobeAir2获取IP地址

使用AdobeAir2获取IP地址,air,actionscript-3,Air,Actionscript 3,我正在用AS3在AdobeAir2中构建一个应用程序,需要获取用户的ip地址。据我所知,这段代码应该可以工作,但正在跟踪:“::1”不是ip。多谢各位 var netInterfaces = NetworkInfo.networkInfo.findInterfaces(); var addresses = netInterfaces[0].addresses; var userIp = addresses[0].address; trace(userIp); 您编写的代码实际上返回它找到

我正在用AS3在AdobeAir2中构建一个应用程序,需要获取用户的ip地址。据我所知,这段代码应该可以工作,但正在跟踪:“::1”不是ip。多谢各位

var netInterfaces = NetworkInfo.networkInfo.findInterfaces();

var addresses = netInterfaces[0].addresses;

var userIp = addresses[0].address;

trace(userIp);

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

IP4的ip地址为127.0.0.1


对于IP6,ip地址是::1

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

IP4的ip地址为127.0.0.1


使用IP6时,ip地址为::1

如果您想要的是真实的ip而不是本地主机,请使用以下地址:

private function getIp():String{
    var netInterfaces:Vector.<NetworkInterface> = NetworkInfo.networkInfo.findInterfaces();
    var addresses:Vector.<InterfaceAddress> = netInterfaces[1].addresses;
    return addresses[0].address;    
}
私有函数getIp():字符串{
var netInterfaces:Vector.=NetworkInfo.NetworkInfo.findInterfaces();
变量地址:Vector.=netInterfaces[1]。地址;
返回地址[0]。地址;
}
如果您使用的是Android,请不要忘记设置权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

如果您想要的是真实的IP而不是本地主机,请使用以下命令:

private function getIp():String{
    var netInterfaces:Vector.<NetworkInterface> = NetworkInfo.networkInfo.findInterfaces();
    var addresses:Vector.<InterfaceAddress> = netInterfaces[1].addresses;
    return addresses[0].address;    
}
私有函数getIp():字符串{
var netInterfaces:Vector.=NetworkInfo.NetworkInfo.findInterfaces();
变量地址:Vector.=netInterfaces[1]。地址;
返回地址[0]。地址;
}
如果您使用的是Android,请不要忘记设置权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

试试这个

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);           
      }
    }
  }
}
var netInterfaces:Vector.=NetworkInfo.NetworkInfo.findInterfaces();
如果(netInterfaces&&netInterfaces.length>0){
每个(变量i:网络接口中的网络接口){
如果(i.active){
变量地址:向量=i地址;
每个(变量j:地址中的接口地址){
跟踪(“-Host:+j.address”);
}
}
}
}
试试这个

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);           
      }
    }
  }
}
var netInterfaces:Vector.=NetworkInfo.NetworkInfo.findInterfaces();
如果(netInterfaces&&netInterfaces.length>0){
每个(变量i:网络接口中的网络接口){
如果(i.active){
变量地址:向量=i地址;
每个(变量j:地址中的接口地址){
跟踪(“-Host:+j.address”);
}
}
}
}

shot,那我该怎么做呢??(我是唯一一个IPv6混淆了这些废话的人)这取决于你想要实现什么,如果你想知道air应用程序用于连接服务器的地址,试着在服务器端获取它,如果你想要除本地主机以外的所有地址,请检查netInterfaces.name属性,如果您只需要ip4地址,请按type.shot筛选地址数组中的地址,那么我如何才能做到这一点??(我是唯一一个IPv6混淆了这些废话的人)这取决于你想要实现什么,如果你想知道air应用程序用于连接服务器的地址,试着在服务器端获取它,如果你想要除本地主机以外的所有地址,请检查netInterfaces.name属性,如果只需要ip4地址,请按类型过滤地址数组中的地址。如果在Android上,请不要忘记设置权限;如果在Android上,请不要忘记设置权限: