Netty客户端重连机制
场景:
1.Netty初次启动客户端,如果无法连接到服务端,将尝试重连。
2.在客户端与服务端保持长连接的过程中,如果连接断开,尝试与服务端重连。
-
主要代码
Netty客户端启动处理类
@Service("nettyClient") public class NettyClient { private final static Logger log = LoggerFactory.getLogger(NettyClient.class); private EventLoopGroup loop = new NioEventLoopGroup(); @Autowired private NettyFilter nettyFilter; @Autowired private AppConfig appConfig; public void run(){ doConnect(new Bootstrap(), loop); } /** * netty client 连接,连接失败10秒后重试连接 */ public void doConnect(Bootstrap bootstrap, EventLoopGroup eventLoopGroup) { ChannelFuture f = null; try { if (bootstrap != null) { bootstrap.group(eventLoopGroup); bootstrap.channel(NioSocketChannel.class); bootstrap.option(ChannelOption.SO_KEEPALIVE, true); bootstrap.handler(nettyFilter); bootstrap.remoteAddress(appConfig.getHost(), appConfig.getPort()); f = bootstrap.connect().addListen