我正在深入研究Apache MINA。这是一个具有很多功能的优秀框架。迄今为止最困难的部分是解码器部分。检查api文档我理解有以下类可以扩展并实现自己的类:
以上所有内容都扩展了 CumulativeProtocolDecoder 类 - 一个ProtocolDecoder,它将收到的缓冲区内容累积到累积缓冲区,以帮助用户实现解码器。
答案 0 :(得分:1)
我在我的应用程序中使用了DemuxingProtocolDecoder类的实例。在包org.apache.mina.filter.codec.demux
下,您可以使用一些接口和类来解码消息。有一个名为MessageDecoder
的界面。创建自己的实现此接口的类,MINA将工作。像这样的东西,
public class MyDecoder implements MessageDecoder {
public MessageDecoderResult decode(IoSession session, IoBuffer buffer, ProtocolDecoderOutput decoderOutput) throws Exception {
/* Your
decode
mechanism */
decoderOutput.write(message); // don't forget to write your decoded message object at some point.
return MessageDecoder.OK; //or something else that matches your needs.
}
}