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

时间:2009-08-04 20:08:50

标签: java sockets apache-mina

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

2 个答案:

答案 0 :(得分:8)

SocketAddress转发给InetSocketAddress(不是InetAddress,而是一个子类);这会暴露port accessor

答案 1 :(得分:6)

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

public int getPort(SocketAddress address) {
    return ((InetSocketAddress) address).getPort();
}