Apache Mina:获取连接远程客户端的本地端口

时间:2011-08-13 02:40:20

标签: java sockets apache-mina

如果我有一台服务器正在侦听下面配置的端口80和8080,那么当我收到消息时,如何识别客户端连接到哪个本地端口?

acceptor = new NioSocketAcceptor();
acceptor.setHandler(new MyConnectionHandler());
Set<SocketAddress> addresses = new HashSet<SocketAddress>();
addresses.add(new InetSocketAddress(host, 80));
addresses.add(new InetSocketAddress(host, 8080));
acceptor.bind(addresses);

处理程序的 messageReceived 我想知道客户端连接到哪个本地端口,而不是客户端的远程端口。

@Override
public void messageReceived(IoSession session, Object message) throws Exception {
    log.info("Incomming: {}", session.getRemoteAddress().toString());

我应该使用哪种方法来访问应该是80或8080的端口?日志语句将打印如下:

    Incomming: /219.182.172.12:37921

1 个答案:

答案 0 :(得分:1)