如何在java中查找客户端ip和主机名?

如何在java中查找客户端ip和主机名?,java,jakarta-ee,ip,host,Java,Jakarta Ee,Ip,Host,返回IP地址的代码: String computerName = null; String remoteAddress = request.getRemoteAddr(); System.out.println("remoteAddress: " + remoteAddress); try{ InetAddress inetAddress = InetAddress.getByName(remoteAddress); System.out.println("inetAddress: "

返回IP地址的代码:

String computerName = null;
String remoteAddress = request.getRemoteAddr();
System.out.println("remoteAddress: " + remoteAddress);
try{
  InetAddress inetAddress = InetAddress.getByName(remoteAddress);
  System.out.println("inetAddress: " + inetAddress);
  computerName = inetAddress.getHostName();
  System.out.println("Client Host Name :: " + computerName);
}catch (UnknownHostException e) {
  System.out.println("UnknownHostException detected in StartAction. ");
}
在运行服务器的同一系统中测试时,返回:

remoteAddress: 0:0:0:0:0:0:0:1
inetAddress: /0:0:0:0:0:0:0:1
Client Host Name :: 0:0:0:0:0:0:0:1
当从网络中的不同系统检查它时,它返回正确的值,但在开发环境中,它不返回我的系统IP地址或主机名。它返回了一些未知的IP地址,我不知道


请帮助我解决此问题。我希望在访问我的应用程序时获取客户端IP地址和主机名。

这是ipv6中的本地主机地址。您需要了解,这将仅返回最近的代理或NAT设备(如果有)的地址。