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()를 시도했지만 gotcha의 종류는 내 케이스가 항상 80이었던 세트의 첫 번째 포트만 반환하기 때문에 –
다행 :) – MByD