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">

public Object getChannel(Boolean generalizable) {
        return Boolean.TRUE.equals(generalizable) ? getNettyChannel() : getChannel();
    }
    @Override
    public boolean isAvailable() {
        if (isClosed()) {
            return false;
        }
        io.netty.channel.Channel nettyChannel = getNettyChannel();
        if (nettyChannel != null && nettyChannel.isActive()) {
            return true;
        }
        if (init.compareAndSet(false, true)) {
            try {
                doConnect();
            } catch (RemotingException e) {
                LOGGER.error(TRANSPORT_FAILED_RECONNECT, "", "",  "Failed to connect to server: " + getConnectAddress());
            }
        }
        createConnectingPromise();
        connectingPromise.get().awaitUninterruptibly(getConnectTimeout(), TimeUnit.MILLISECONDS);
        
        synchronized (this) {
            connectingPromise.set(null);
        }
        nettyChannel = getNettyChannel();
        return nettyChannel != null && nettyChannel.isActive();
    }
    @Override
    public void createConnectingPromise() {