Java: How can I get the connected port from an InetAddress?
Asked Answered
N

2

5

I'm trying to build a Java NIO-based socket server using Apache Mina. I really need to know the port of the remote host, not just the IP address, and it seems that Mina only exposes a SocketAddress (which can be downcast to InetAddress) object. I can get the IP address from InetAddress, but I normally use Socket.getPort() to get the port number, but Mina appears to obscure these low-level objects. Is there another way? Thanks!

Nigrosine answered 4/8, 2009 at 20:8 Comment(0)
B
11

Downcast the SocketAddress to InetSocketAddress (not InetAddress, which is not a sub-class); this exposes a port accessor.

Burwell answered 4/8, 2009 at 20:29 Comment(0)
S
7

I have a real old version but this worked for me,

public int getPort(SocketAddress address) {
    return ((InetSocketAddress) address).getPort();
}
Sonorous answered 4/8, 2009 at 20:31 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.