mina服务器响应端口与端口传入消息不同

时间:2013-01-07 14:39:22

标签: port mina

我设置了一个通过端口xxx接收消息的服务器,但我想响应端口yyy。 有没有一种简单的方法来实现这一目标?

我的服务器:

    IoAcceptor acceptor = new NioSocketAcceptor();

    acceptor.setHandler(new MessageHandler());
    acceptor.getFilterChain().addLast("logger", new LoggingFilter());

    acceptor.getFilterChain().addLast("codec", new protocolCodecFilter(codecFactory));
    acceptor.getSessionConfig().setReadBufferSize(bufferSize);
    acceptor.bind(new InetSocketAddress(port));

编码器的编码方法:

public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception {
    byte[] writeBytes = (byte[]) message;       
    IoBuffer buffer = IoBuffer.allocate(writeBytes.length).setAutoExpand(false);
    buffer.put(writeBytes);
    buffer.flip();
    out.write(buffer);      
    writeMessage(session,writeBytes);
}

应将msessage写入不同的端口。我如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

如果要使用不同的tcp端口响应消息,则必须先进行另一个其他tcp连接,这意味着您有两台服务器和两个客户端。

     request

客户端1 ----------> server1的

     reponse

服务器2 ---------->客户端2