如果客户端错误地连接到Netty服务器,会发生什么情况?

如果客户端错误地连接到Netty服务器,会发生什么情况?,netty,Netty,假设我有以下解码器 public class MyDecoder extends FrameDecoder1 { @Override protected Object decode( ChannelHandlerContext ctx, Channel channel, ChannelBuffer buffer)2 { if (buffer.readableBytes() < 4) { return nul

假设我有以下解码器

public class MyDecoder extends FrameDecoder1 {

    @Override
    protected Object decode(
            ChannelHandlerContext ctx, Channel channel, ChannelBuffer buffer)2 {

        if (buffer.readableBytes() < 4) {
            return null;
        }

        return buffer.readBytes(4);
    }
}
公共类MyDecoder扩展了FrameDecoder1{
@凌驾
受保护对象解码(
ChannelHandlerContext(ctx、频道、频道缓冲区)2{
if(buffer.readableBytes()<4){
返回null;
}
返回缓冲区readBytes(4);
}
}
如果客户端连接并且从不发送4字节,会发生什么

1-客户端连接发送3个字节关闭连接。Netty放弃与该连接相关的所有内容,对吗?所有资源“已释放”

2-客户端连接发送3个字节,但不会关闭连接并使其保持打开状态。另一个客户端连接并执行相同的操作,然后继续。在这一点上,资源得到了正确的利用?是否有一种默认的方法来处理这个问题,或者我需要附加一个读取超时处理程序或其他什么

谢谢

1)是的,一旦通道关闭,它将释放缓冲字节。 2) 看看IdleStateHandler和IDleStateWarehandler。这些将帮助您在一些不活动之后断开客户端的连接