有人能告诉我如何从连接的客户端获取IP地址吗?
到目前为止我找到了
session.getRemoteAddress().toString()
并返回类似
的内容/192.168.1.100:49879
这样可以吗?我可以做一些只能返回192.168.1.100的东西吗?
当我使用套接字时,我使用的是:
socket.getInetAddress().getHostAddress();
在apache mina中使用IoSession有类似的东西吗?
答案 0 :(得分:17)
将SocketAddress
返回的getRemoteAddress()
转发给InetSocketAddress
。然后,您可以致电getAddress()
,该InetAddress
将返回一个getHostAddress()
对象,该对象具有您习惯使用的InetSocketAddress socketAddress = (InetSocketAddress) session.getRemoteAddress();
InetAddress inetAddress = socketAddress.getAddress();
inetAddress.getHostAddress();
方法。
e.g。
{{1}}