追寻水中桥 2013-05-07
1.framedecode的时候报indexofboundexception
使用FrameDecoder解码的时候报IndexOutOfBoundsException错误。找了好几天才发现原来是netty使用FrameDecoder解码并没有把一个协议包的内容读完,就调用了后面的业务逻辑代码,造成业务逻辑在解析包的内容时长度不够,报错.
解决方法:
获得该包的长度之后再分析如果不够则returnnull;
2.在decode时,接收到的channelbuffer一定要把readerindex读完,也就是把position读到最大,否则框架会因为buffer还据有可读性而反复调用calldecode方法。
tip:到处exportrunnablejarfile时如果lunchconfiguration有没选项,则执行以下main函数在export就会有了
3.http://blog.csdn.net/babydavic/article/details/8554807
3.使用channelbuffer中的directbuff和buffer以及dynamicbuff是不同的,directbuff使用array方法在不同环境下会报upsupportedexception