我正在开展一个项目。我们可以向IT部门注册有关系统故障或软件故障的投诉 在我们公司,每台计算机都有唯一的系统(本地)IP地址
我希望我的投诉能够在该地址注册,IT人员可以通过该地址识别我的系统并对其进行修复 我在SO上发现了许多但没有解决我的问题。那有什么解决方案吗?任何建议都会非常有用。
答案 0 :(得分:3)
您没有指定这是基于浏览器的应用程序还是基于桌面的AIR App。
基于浏览器的Flash Player无法访问IP地址。但是,当Flash Player ping远程服务时,请求的IP地址通常可作为CGI变量用于该请求。如何访问这些CGI变量将取决于您选择的服务器端语言。
我不相信AIR具有对IP地址的本机访问权限,但是您应该能够使用NativeProcess或Native Extensions等方式访问它。您必须编写一些特定于操作系统的代码才能获得它。
答案 1 :(得分:3)
这是我从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 "";
}
答案 2 :(得分:1)
您无法单独通过Flash Player执行此操作。在这一点上,你只需要接受这个作为最终答案。对此给予赏金没有多大意义。 。 。如果你谷歌这样,你会发现许多Flash专家都对Adobe的这种限制感到沮丧。
其他答案是正确的。 。 。也就是说,如果您使用Adobe Air,或者使用非Adobe方法(如CGI,PHP,Java,.NET等),有很多方法可以执行此操作。
如果您想在.NET中询问有关如何执行此操作的问题,请将其发布在另一个问题中。 (你最初提出的问题是一个很好的问题,应该保持原样。)