Apache Mina: как получить IP от подключенного клиента

Может ли кто-нибудь сказать мне, как получить IP-адрес от подключенного клиента?

До сих пор я нашел

session.getRemoteAddress().toString()

и возвращает что-то вроде

/192.168.1.100:49879

это нормально? Могу ли я сделать что-то, что может вернуть только 192.168.1.100?

Когда я использовал сокеты, я использовал что-то вроде:

socket.getInetAddress().getHostAddress();

есть ли что-то подобное с использованием IoSession в apache mina?


person Doua Beri    schedule 03.08.2011    source источник


Ответы (1)


Преобразуйте SocketAddress, возвращенное getRemoteAddress(), в InetSocketAddress. Затем вы можете вызвать getAddress(), который вернет объект InetAddress с методом getHostAddress(), к которому вы привыкли.

e.g.

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

inetAddress.getHostAddress();
person jkeeler    schedule 03.08.2011