我目前正在研究 Apache MINA。这是一个很棒的框架,有很多功能。到目前为止,最难的部分是解码器部分。检查 api 文档,我了解到有以下类可以扩展和实现自己的:
- DemuxingProtocolDecoder - 一种复合 ProtocolDecoder,它将传入的 IoBuffer 解码请求解复用到适当的 MessageDecoder 中。
- ObjectSerializationDecoder - 使用 IoBuffer.getObject(ClassLoader) 反序列化可序列化 Java 对象的 ProtocolDecoder。
- PrefixedStringDecoder - 使用固定长度前缀解码字符串的 ProtocolDecoder。
以上所有都扩展了CumulativeProtocolDecoder类 - 一个将接收缓冲区的内容累积到累积缓冲区的 ProtocolDecoder,以帮助用户实现解码器。
- 您能否通过一些真实世界的示例提及您将使用或确实使用 CumulativeProtocolDecoder 的哪个子类以及为什么?
- 有没有不需要解码器扩展 CumulativeProtocolDecoder 类,直接实现 ProtocolDecoder 而不用担心碎片的例子?