gpt4 book ai didi

java - Netty:ClientBootstrap 连接重试

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:23:00 26 4
gpt4 key购买 nike

我需要连接到一个服务器,我知道它会监听一个端口。尽管可能需要一些时间才能投入使用。是否可以让 ClientBootstrap 尝试连接给定的尝试次数或直到达到超时?

目前,如果连接被拒绝,我会得到一个异常,但它应该尝试在后台连接,例如通过尊重“connectTimeoutMillis” Bootstrap 选项。

最佳答案

您需要手动完成,但这并不难..

你可以这样做:

final ClientBootstrap bs = new ClientBootstrap(...);
final InetSocketAddress address = new InetSocketAddress("remoteip", 110);
final int maxretries = 5;
final AtomicInteger count = new AtomicInteger();
bs.connect(address).addListener(new ChannelFutureListener() {

public void operationComplete(ChannelFuture future) throws Exception {
if (!future.isSuccess()) {
if (count.incrementAndGet() > maxretries) {
// fails to connect even after maxretries do something
} else {
// retry
bs.connect(address).addListener(this);
}
}
}
});

关于java - Netty:ClientBootstrap 连接重试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9873237/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com