2012-01-12 122 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