dubbo 版本 3.2.4

实验过程：服务端关闭网络，节点在15min内不会从nacos平台消失。导致consumer仍然能够拿到invoder，此时客户端如果能判断服务端invoker不能连接，就会从全局的invoker列表中剔除该invoker，执行故障转移。但是dubbo consumer 在服务端突然断网后，判断连接仍然存在，导致无法剔除invoker，无法进行故障转移。

问题：针对服务端突然断电、断网，是否是应为tcp链接无法正常断开，导致consumer判断连接失效？



<img width="916" alt="image" src="https://github.com/apache/dubbo/assets/139483558/38486a89-695a-4792-83a6-51f783f5abf2">

protected void initChannel(SocketChannel ch) {
                NettyChannel nettyChannel = NettyChannel.getOrAddChannel(ch, getUrl(), getChannelHandler());
                final ChannelPipeline pipeline = ch.pipeline();
                NettySslContextOperator nettySslContextOperator = new NettySslContextOperator();
                if (sslContext != null) {
                    pipeline.addLast("negotiation", new SslClientTlsHandler(sslContext));
                }
                
                pipeline.addLast("connectionHandler", connectionHandler);
                NettyConfigOperator operator = new NettyConfigOperator(nettyChannel, getChannelHandler());
                protocol.configClientPipeline(getUrl(), operator, nettySslContextOperator);
                
            }
        });
        this.bootstrap = nettyBootstrap;
    }
    @Override
    protected void doClose() {
        
        if (isClosed()) {
            if (LOGGER.isDebugEnabled()) {
                LOGGER.debug(String.format("Connection:%s freed ", this));
            }
            final io.netty.channel.Channel current = getNettyChannel();
            if (current != null) {
                current.close();
            }
            this.channel.set(null);
            closePromise.setSuccess(null);
        }