Java:如何从InetAddress获取连接端口?

Div*_*ero 3 java sockets apache-mina

我正在尝试使用Apache Mina构建基于Java NIO的套接字服务器.我真的需要知道远程主机的端口,而不仅仅是IP地址,而且似乎Mina只公开了SocketAddress(可以向下转换为InetAddress)对象.我可以从InetAddress获取IP地址,但我通常使用Socket.getPort()来获取端口号,但是Mina似乎模糊了这些低级对象.还有另外一种方法吗?谢谢!

eri*_*son 8

向下转换的SocketAddressInetSocketAddress(未InetAddress,这是一个亚类); 这暴露了一个port访问者.


ZZ *_*der 6

我有一个真正的旧版本,但这对我有用,

public int getPort(SocketAddress address) {
    return ((InetSocketAddress) address).getPort();
}
Run Code Online (Sandbox Code Playgroud)