0
以下のようにポート80と8080でリッスンしているサーバーを持っていると、メッセージを受け取ったときにクライアントが接続したローカルポートをどのように特定できますか? Apache Mina:リモートクライアントが接続されているローカルポートを取得する
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
イェーイ、この作品:ログ・ステートメントは、このような何かを印刷します!私はsession.getServiceAddress()を試していましたが、私の場合は常に80だったセット内の最初のポートだけを返すので、gotchaのようなものです –
嬉しいです:) – MByD