我正在尝试使用 Apache Mina 构建基于 Java NIO 的套接字服务器。我真的需要知道远程主机的端口,而不仅仅是 IP 地址,而且似乎 Mina 只公开了一个 SocketAddress(可以向下转换为 InetAddress)对象。我可以从 InetAddress 获取 IP 地址,但我通常使用 Socket.getPort() 来获取端口号,但 Mina 似乎掩盖了这些低级对象。还有其他方法吗?谢谢!
问问题
20492 次
2 回答
11
向下SocketAddress
转换 to InetSocketAddress
(不是InetAddress
,它不是子类);这暴露了一个port
访问器。
于 2009-08-04T20:29:50.023 回答
7
我有一个真正的旧版本,但这对我有用,
public int getPort(SocketAddress address) {
return ((InetSocketAddress) address).getPort();
}
于 2009-08-04T20:31:55.853 回答