日期:2014-05-19  浏览次数:20807 次

请问有没办法在代码里,获得当前项目部署的服务器IP地址?


现在有一个项目部署在两个服务器上,每个对应一个IP,希望有些东西只在A服务器使用,有些只在B服务器使用。

请问有没办法在代码里,获得当前项目部署的服务器IP地址以便程序里区分,或者能解决这个问题的其他方法也行。

------解决方案--------------------
InetAddress addr = InetAddress.getLocalHost();
ip=addr.getHostAddress().toString;//获得本机IP

------解决方案--------------------
Enumeration<NetworkInterface> netInterfaces = null;
try {
 netInterfaces = NetworkInterface.getNetworkInterfaces();
 while (netInterfaces.hasMoreElements()) {
NetworkInterface ni = netInterfaces.nextElement();
System.out.println("DisplayName:" + ni.getDisplayName());
System.out.println("Name:" + ni.getName());
Enumeration<InetAddress> ips = ni.getInetAddresses();
while (ips.hasMoreElements()) {
System.out.println("IP:"
+ ips.nextElement().getHostAddress());
}
 }
} catch (Exception e) {
 e.printStackTrace();
}