mina支持自定义编码和解码,要完成自定义的,简单来讲需要完成三部分:
1)实现自己的编码器,继承与ProtocolEncoderAdapter;
package org.mina.server.codec;
import java.nio.charset.Charset;
import org.apache.log4j.Logger;
import org.apache.mina.core.buffer.IoBuffer;
import org.apache.mina.core.session.IoSession;
import org.apache.mina.filter.codec.ProtocolEncoderAdapter;
import org.apache.mina.filter.codec.ProtocolEncoderOutput;
/**
* 编码器,用于发送数据时打包
* */
public class MyEncoder extends ProtocolEncoderAdapter {
private final Charset charset;
static Logger log = Logger.getRootLogger();
public MyEncoder(Charset charset) {
this.charset = charset;
}
public void encode(IoSession session, Object message,
ProtocolEncoderOutput out) throws Exception {
log.debug("MyEncoder.encode()");
//......实现编码..........//
}
}
2)实现自己的解码器 ,继承与ProtocolDecode