netty 发送 超过 1024 数据
netty 发送 超过 1024 数据
开源代码:
https://github.com/anglesun/netty-LengthFieldBasedFrameDecoder
下面的客户端和服务器端是可以的:
客户端:
服务器端:
自定义 decode 采用 LengthFieldBasedFrameDecoder
但是和c#通信报错了:
AbstractUnpooledSlicedByteBuffer buf = (AbstractUnpooledSlicedByteBuffer)message;
byte type = buf.ReadByte();
byte flag = buf.ReadByte();
int length = buf.ReadInt();
c#代码:
客户端
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
- 点赞
- 收藏
- 关注作者
评论(0)