我们在Mina服务器对文件进行自定义解码的时候,继承了类CumulativeProtocolDecoder。
这个类默认的字节数处理是2048,所以当文件超过了2048个字节之后,服务器解码器就会报错java.nio.BufferUnderflowException 这个异常。
以为需要解析的字节为4096KB,但是Mina能够一次性处理的只有2048个字节,所以就会报错。很简单吧?
解决办法,重写一下第【十一】章里面的ByteProtocalDecoder类
/**
* 这个是服务器对客户端发来的消息进行解码
* 继承CumulativeProtocolDecoder
* 实现doDecode
* 父类会将数据读取完之后,再调用实现的方法doDecode。
* 如果成功读取完之后,服务器会去H