0

以下に設定されているようにポート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のポートにアクセスするには、どちらの方法を使用する必要がありますか?logステートメントは次のように出力します。

    Incomming: /219.182.172.12:37921
4

1 に答える 1

1

session.getLocalAddress()

于 2011-08-13T02:56:49.103 に答える