netty 发送 超过 1024 数据

举报
风吹稻花香 发表于 2021/06/06 00:30:10 2021/06/06
【摘要】 netty 发送 超过 1024 数据   开源代码: https://github.com/anglesun/netty-LengthFieldBasedFrameDecoder 下面的客户端和服务器端是可以的: 客户端: https://github.com/smartbooks/netty-example/blob/db2a2af757c20707...

netty 发送 超过 1024 数据

 

开源代码:

https://github.com/anglesun/netty-LengthFieldBasedFrameDecoder

下面的客户端和服务器端是可以的:

客户端:

https://github.com/smartbooks/netty-example/blob/db2a2af757c20707adc60e7500a3d905202e4c58/src/main/java/com/ljja/client/ClientApp.java

服务器端:

https://github.com/smartbooks/netty-example/blob/db2a2af757c20707adc60e7500a3d905202e4c58/src/main/java/com/ljja/server/ServerApp.java

自定义 decode 采用 LengthFieldBasedFrameDecoder

 

但是和c#通信报错了:


                AbstractUnpooledSlicedByteBuffer buf = (AbstractUnpooledSlicedByteBuffer)message;

               byte  type = buf.ReadByte();
              byte  flag = buf.ReadByte();
              int  length = buf.ReadInt();

c#代码:

https://github.com/jinyuttt/dotnetty/blob/e01dfc50fa1f384a67e726ce9b1dfea737eca796/DotNetty.Buffers/UnpooledSlicedByteBuffer.cs

客户端

Bootstrap b = new Bootstrap();
            b.group(bossGroup)
                    .channel(NioSocketChannel.class)
                    .handler(new LoggingHandler(LogLevel.INFO))
                    .handler(new ChannelInitializer<SocketChannel>() {
                        @Override
                        public void initChannel(SocketChannel ch) throws Exception {
                            ch.pipeline().addLast("ServerDecoder", new ClientDecoder());
                        }
                    })
                    .option(ChannelOption.SO_KEEPALIVE, true)
               .option(ChannelOption.RCVBUF_ALLOCATOR, new FixedRecvByteBufAllocator(65535));


          .option(ChannelOption.RCVBUF_ALLOCATOR, new FixedRecvByteBufAllocator(65535)); !!! 这句话是 关键

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/103568557

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。