2012-01-12 118 views
3

我正在开发一个项目。我们可以向IT部门投诉系统故障或软件故障。
在我们公司每台计算机都有独特的系统(本地)IP地址如何在Flex中查找系统(本地)IP地址?

我希望我的投诉能够在该地址注册,IT人员可以通过该地址识别我的系统并对其进行修复。
我在SO上发现了很多,但没有解决我的问题。有没有解决方案?任何建议都会非常有帮助。

+0

既然有现在这是一个赏金;有没有什么理由我的建议使用CGI变量没有解决?在服务器端ASP.NET代码中专门访问REMOTE_ADDR服务器变量? – JeffryHouser 2012-01-16 17:37:52

+0

@ www.Flextras.com Ya我知道Adobe的这个限制。我在C#Web服务中使用了REMOTE_ADDR。因此,为了获得系统IP,我必须从Flex中调用.Net服务,这有点不舒服。 – 2012-01-17 04:08:21

+0

对不起,这让你不舒服,但它是它。你会接受答案和/或奖赏赏金或让赏金代表到期吗? – JeffryHouser 2012-01-19 04:21:48

回答

3

您没有指定这是基于浏览器的应用程序还是基于桌面的AIR应用程序。

基于浏览器的Flash Player将无法访问IP地址。但是,当Flash Player ping远程服务时,请求的IP地址通常可用作该CGI变量的请求。如何访问这些CGI变量将取决于您选择的服务器端语言。

我不相信AIR也可以本地访问IP地址,但是您应该可以使用类似NativeProcess或本机扩展的方式访问它。尽管如此,你必须编写一些特定于操作系统的代码。

+0

我的应用程序基于浏览器。我对CGI变量和NativeProcess没有太多的想法,任何方式都要感谢回应... :)如果使用.Net webservice有可能如何做到这一点? – 2012-01-12 06:14:32

+1

您可以访问AIR中的网络接口([source](http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b8f6c0-7ffe.html#WSb2ba3b1aad8a27b04a6701d612482d399e5-8000)),它将为您提供网络设备及其属性(如IP地址),但它似乎并没有给你提供信息ala“这是你当前的IP”。 – NoobsArePeople2 2012-01-12 07:32:02

+1

NativeProcess或本机扩展仅适用于AIR应用程序。在ASP.NET中,您可以使用服务器变量:http://www.w3schools.com/asp/coll_servervariables.asp。看看REMOTE_ADDR – JeffryHouser 2012-01-12 13:57:10

1

您无法单独通过Flash Player执行此操作。在这一点上,你必须接受这个最终答案。没有太多的意义在这个奖金。 。 。如果你是Google,你会发现许多Flash专家都对Adobe的这种限制感到沮丧。

其他答案是正确的。 。 。也就是说,如果您使用Adobe Air或其他非Adobe方法(如CGI,PHP,Java,.NET等),则可以采用这种方法。

如果您想提出有关如何执行此操作的问题.NET,请在另一个问题中发布。 (最初问你的问题是一个很好的,并应当保持在原样。)

3

这是我从一个Flex AIR客户端的IP地址的方式:

public static function getClientIPAddress (version:String):String { 
     var ni:NetworkInfo = NetworkInfo.networkInfo; 
     var interfaceVector:Vector.<NetworkInterface> = ni.findInterfaces(); 
     var currentNetwork:NetworkInterface; 

     for each (var networkInt:NetworkInterface in interfaceVector) { 
      if (networkInt.active) { 
       for each (var address:InterfaceAddress in networkInt.addresses) { 
        if (address.ipVersion == version) { 
         return address.address; 
        } 
       } 
      } 
     } 
     return ""; 
    } 
+0

行。谢谢。我的实际需求是在Flex Web应用程序中。 – 2012-10-03 08:59:52