8

接続されたクライアントから IP アドレスを取得する方法を誰か教えてもらえますか?

これまでに見つけた

session.getRemoteAddress().toString()

そして次のようなものを返します

/192.168.1.100:49879

これでよろしいですか?192.168.1.100 のみを返すことができる何かを行うことはできますか?

ソケットを使用したとき、次のようなものを使用していました。

socket.getInetAddress().getHostAddress();

apache mina で IoSession を使用して似たようなものはありますか?

4

1 に答える 1

18

SocketAddressによって返されgetRemoteAddress()た を aにダウンキャストしInetSocketAddressます。次に、これを呼び出すと、使い慣れたメソッドを持つオブジェクトgetAddress()が返されます。InetAddressgetHostAddress()

例えば

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

inetAddress.getHostAddress();
于 2011-08-03T21:23:58.650 に答える