diff --git a/src/main/java/org/redkale/net/client/Client.java b/src/main/java/org/redkale/net/client/Client.java index 087765032..33824ffdf 100644 --- a/src/main/java/org/redkale/net/client/Client.java +++ b/src/main/java/org/redkale/net/client/Client.java @@ -273,7 +273,8 @@ public abstract class Client, R extends ClientR protected CompletableFuture connect() { final int size = this.connArray.length; - final int connIndex = (int) Math.abs(connIndexSeq.getAndIncrement()) % size; + WorkThread workThread = WorkThread.currWorkThread(); + final int connIndex = (workThread != null && workThread.threads() == size) ? workThread.index() : (int) Math.abs(connIndexSeq.getAndIncrement()) % size; C cc = (C) this.connArray[connIndex]; if (cc != null && cc.isOpen()) { return CompletableFuture.completedFuture(cc);