Netty 断包

来源:互联网 发布:库存查询软件 编辑:程序博客网 时间:2024/05/18 02:17
项目中遇到这个问题,客户端发送的数据,服务度一次总是不能读取读取,netty默认读取1024个字节,发送的内容大于该长度,就会出现断包的情况。项目中发送的报文格式:“消息头(包含消息长度,消息长度占8个字节) +  消息体”  的形式。在服务端、客户端添加如下两行即可实现发送大于1024长度的消息
ch.pipeline().addLast(new LengthFieldBasedFrameDecoder(Integer.MAX_VALUE,0,8,0,8));
ch.pipeline().addLast("frameEncode", new LengthFieldPrepender(8, false));
new LengthFieldBasedFrameDecoder()   new LengthFieldPrepender()只加new LengthFieldBasedFrameDecoder()这一个是不行的,两个一定要配合使用
原创粉丝点击