分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

Netty 客户端断线重连

发布时间:2023-09-20 05:18责任编辑:沈小雨关键词:暂无标签

client 关闭后会执行 finally 代码块,可以在这里可以进行重连操作

public class NettyClient implements Runnable { ???private final String host; ???private final int port; ???private final int reconnectSleepSeconds; ???public NettyClient(String host, int port, int reconnectSleepSeconds){ ???????this.host = host; ???????this.port = port; ???????this.reconnectSleepSeconds = reconnectSleepSeconds; ???} ???@Override ???public void run() { ???????connect(); ???} ???private void connect(){ ???????EventLoopGroup workerGroup = new NioEventLoopGroup(); ???????try { ???????????Bootstrap b = new Bootstrap(); ???????????b.group(workerGroup); ???????????b.channel(NioSocketChannel.class); ???????????b.option(ChannelOption.SO_KEEPALIVE, true); ???????????b.handler(new ChannelInitializer<SocketChannel>() { ???????????????@Override ???????????????public void initChannel(SocketChannel ch) throws Exception { ???????????????????// TODO: 添加 Handler ???????????????} ???????????}); ???????????ChannelFuture f = b.connect(host, port).sync(); ???????????f.channel().closeFuture().sync(); ???????} catch (Exception e){ ???????????e.printStackTrace(); ???????} finally { ???????????workerGroup.shutdownGracefully(); ???????????try { ???????????????TimeUnit.SECONDS.sleep(reconnectSleepSeconds); ???????????????connect(); // 断线重连 ???????????} catch (InterruptedException e) { ???????????????e.printStackTrace(); ???????????} ???????} ???}}

参考:微言netty:不在浮沙筑高台

Netty 客户端断线重连

原文地址:https://www.cnblogs.com/victorbu/p/10789527.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved