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

}
    @Override
    protected void doConnect() throws RemotingException {
        if (isClosed()) {
            if (LOGGER.isDebugEnabled()) {
                LOGGER.debug(String.format("%s aborted to reconnect cause connection closed. ",
                        NettyConnectionClient.this));
            }
        }
        init.compareAndSet(false, true);
        long start = System.currentTimeMillis();
        createConnectingPromise();
        final ChannelFuture promise = bootstrap.connect();
        promise.addListener(this.connectionListener);
        boolean ret = connectingPromise.get().awaitUninterruptibly(getConnectTimeout(), TimeUnit.MILLISECONDS);
        
        synchronized (this) {
            connectingPromise.set(null);
        }
        if (promise.cause() != null) {
            Throwable cause = promise.cause();
            
            RemotingException remotingException = new RemotingException(this, "client(url: " + getUrl() + ") failed to connect to server "
                    + getConnectAddress() + ", error message is:" + cause.getMessage(), cause);
            LOGGER.error(TRANSPORT_FAILED_CONNECT_PROVIDER, "network disconnected", "",
                    "Failed to connect to provider server by other reason.", cause);
            throw remotingException;
        } else if (!ret || !promise.isSuccess()) {
            
            RemotingException remotingException = new RemotingException(this, "client(url: " + getUrl() + ") failed to connect to server "