Apache Mina:如何从连接的客户端获取IP

Dou*_*eri 8 java apache-mina

谁能告诉我如何从连接的客户端获取IP地址?

到目前为止我发现了

session.getRemoteAddress().toString()
Run Code Online (Sandbox Code Playgroud)

并返回类似的东西

/192.168.1.100:49879

这个可以吗?我可以做一些只能返回192.168.1.100的东西吗?

当我使用套接字时,我使用的是:

socket.getInetAddress().getHostAddress();
Run Code Online (Sandbox Code Playgroud)

在apache mina中使用IoSession有类似的东西吗?

jke*_*ler 17

垂头丧气SocketAddress归来getRemoteAddress()InetSocketAddress.然后getAddress(),您可以调用哪个将返回InetAddress具有getHostAddress()您习惯的方法的对象.

例如

InetSocketAddress socketAddress = (InetSocketAddress) session.getRemoteAddress();
InetAddress inetAddress = socketAddress.getAddress();

inetAddress.getHostAddress();
Run Code Online (Sandbox Code Playgroud)