定长方式处理拆包黏包问题
netty除了提供特殊字符拆包之外,还提供了一种定长方式处理拆包的方法。但是,这种方法每次发送的消息必须是固定长度的,如果长度不够,就会阻塞。所以,和特殊字符拆包相比,定长方式处理拆包,优势不大。
server
public class Server {
public static void main(String[] args) throws Exception{
EventLoopGroup bossGroup = new NioEventLoopGroup(); // 负责处理来自客户端的链接
EventLoopGroup workerGroup = new NioEventLoopGroup();//负责处理任务
ServerBootstrap bootstrap = new ServerBootstrap();//配置类
bootstrap.group(bossGroup,workerGroup)
.channel(NioServerSocketChannel.class)
.option(ChannelOption.SO_SNDBUF, 32*1024)
.option(ChannelOption.SO_RCVBUF, 32*1024)
.childHandler(new ChannelInitializer<SocketChannel>() {
@Override
protected void initChannel(SocketChannel socketChannel) throws Exception {