[英]How to find system(local) IP address in Flex?
我正在開展一個項目。我們可以向IT部門注冊有關系統故障或軟件故障的投訴。
在我們公司,每台計算機都有唯一的系統(本地)IP地址
我希望我的投訴能夠在該地址注冊,IT人員可以通過該地址識別我的系統並對其進行修復。
我在SO上發現了許多但沒有解決我的問題。 那有什么解決方案嗎? 任何建議都會非常有幫助。
這是我從Flex AIR客戶端獲取ip-address的方式:
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 "";
}
您沒有指定這是基於瀏覽器的應用程序還是基於桌面的AIR App。
基於瀏覽器的Flash Player將無法訪問IP地址。 但是,當Flash Player ping遠程服務時,請求的IP地址通常可作為CGI變量用於該請求。 如何訪問這些CGI變量將取決於您選擇的服務器端語言。
我不相信AIR具有對IP地址的本機訪問權限,但是您應該能夠使用NativeProcess或Native Extensions等方式訪問它。 您必須編寫一些特定於操作系統的代碼才能獲得它。
您無法單獨通過Flash Player執行此操作。 在這一點上,你只需要接受這個作為最終答案。 對此給予賞金沒有多大意義。 。 。 如果你谷歌這樣,你會發現許多Flash專家都對Adobe的這種限制感到沮喪。
另一個答案是正確的 。 。 。 也就是說,如果你使用Adobe Air,或者有其他非Adobe方法,如CGI,PHP,Java,.NET等,有很多方法可以做到這一點。
如果您想在.NET中詢問有關如何執行此操作的問題,請將其發布在另一個問題中。 (你最初提出的問題是一個很好的問題,應該保持原樣。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.