Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Apache Mina: how to get the IP from a connected client

Can anyone tell me how the get the IP address from a connected client?

So far I've found

session.getRemoteAddress().toString()

and returns something like

/192.168.1.100:49879

is this ok? Can I do something that can return only 192.168.1.100 ?

When I used Sockets I was using something like:

socket.getInetAddress().getHostAddress();

is there something similar using IoSession in apache mina?

like image 998
Doua Beri Avatar asked Aug 03 '11 20:08

Doua Beri


1 Answers

Downcast the SocketAddress returned by getRemoteAddress() to a InetSocketAddress. You can then call getAddress() which will return an InetAddress object that has the getHostAddress() method you're used to.

e.g.

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

inetAddress.getHostAddress();
like image 187
jkeeler Avatar answered Nov 05 '22 03:11

jkeeler