谁能告诉我如何从连接的客户端获取IP地址?
到目前为止,我已经找到
session.getRemoteAddress().toString()
并返回类似
这个可以吗?我可以做一些只能返回192.168.1.100的事情吗?
当我使用套接字时,我使用的是类似的东西:
socket.getInetAddress().getHostAddress();
在Apache Mina中使用IoSession有类似的东西吗?
最佳答案
将SocketAddress
返回的getRemoteAddress()
下调为InetSocketAddress
。然后,您可以调用getAddress()
,这将返回一个InetAddress
对象,该对象具有您惯用的getHostAddress()
方法。
例如
InetSocketAddress socketAddress = (InetSocketAddress) session.getRemoteAddress();
InetAddress inetAddress = socketAddress.getAddress();
inetAddress.getHostAddress();
关于java - Apache Mina : how to get the IP from a connected client,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6932902/