-1

我从 HTTP 请求对象中获得了 IP 地址,使用

request.getRmeoteAddr() => 127.0.0.0

但是我使用 netty 并且当我使用

SocketAddress socketAddress = channel.getRemoteAddress();
InetSocketAddress inetAddr = (InetSocketAddress)socketAddress;
ipAddress = inetAddr.getAddress().toString();

=> 0.0.0.0.0.1

这在尝试比较时给我带来了问题,我希望它们采用相同的格式......

有任何想法吗?

4

2 回答 2

1

当你有一个类表示可以表示为许多不同字符串的东西时,不要比较字符串;比较该类的对象。

于 2012-08-29T11:33:10.780 回答
0

使用 getHostAddress(); 应该这样做。

InetSocketAddress inetAddr = (InetSocketAddress)socketAddress;
String address = inetAddr.getAddress().getHostAddress();

http://docs.oracle.com/javase/1.4.2/docs/api/java/net/InetAddress.html#getHostAddress ()

于 2012-08-29T11:32:03.320 回答