![](https://img-blog.csdnimg.cn/20200406165937153.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Netty
那些年用Netty踩过的坑~~
简烦
【世上总分有两种人】
一种人总在拼命努力,而另一种第二天醒过来发现世界变了。
然而大部分人是第三种人,既不能躺得飘然,亦不能卷得死去活来,很不幸我也成为了其中的一员。
展开
-
JSON数据传输 中文乱码问题 getByte()为罪魁祸首
1.出现场景:netty客户端向服务端传输json字符串转为byte字节数组后的数据,但是服务器端接收到的后经过hexStr2Str转为10进制字符串后是乱码的json字符串,自然反序列化后的对象里的字段值也是乱码的。2.罪魁祸首 outData.writeBytes(data.getBytes());data是json字符串3.getByte() 方法解读/** * Encodes this {@code String} into a sequence of byte原创 2020-07-09 16:43:36 · 3493 阅读 · 3 评论 -
【Netty - 解码器】did not read anything but decoded a message 异常 续篇-再续一下 哈哈
1.前情提要前面说到的解决方案,由于陆续的改动,还是存在很大的一个问题。会引发内存泄漏,原因是某些bytebuf流没被释放回收。前情代码: @Override protected void decode(ChannelHandlerContext channelHandlerContext, ByteBuf in, List<Object> out) throws...原创 2020-05-07 15:20:35 · 520 阅读 · 4 评论 -
【Netty - 解码器】did not read anything but decoded a message 异常 续篇
一、前情提要果然话不能说太满~~ 神马完美解决~~ 果然还是遇到问题了。单纯加in.skipBytes(in.readableBytes());这一句代码会造成数据传递过去的都是一个EmptyByteBufBE ... ...解码断点是有数据接收到的可读长度416个字节到handler里的channelRead0中看到readerIndex已然是416,因为是在解码的时候是直接把...原创 2020-04-07 18:06:36 · 945 阅读 · 2 评论 -
【Netty - 解码器】did not read anything but decoded a message 异常
一、代码@Override protected void decode(ChannelHandlerContext channelHandlerContext, ByteBuf in, List<Object> out) throws Exception { if(in.readableBytes() <= 0){ log.i...原创 2020-04-06 17:40:36 · 1853 阅读 · 2 评论