本篇内容主要讲解“Netty socket通信channel资源释放关闭方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Netty socket通信channel资源释放关闭方法是什么”吧!
当客户端或者服务端接收数据处理出现异常或者客户端主动关闭连接:会进入如下方法
此时 我们应该进行释放资源 将channel 关闭。
从eventLoop中注销channel
@Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { log.error("Error occurred on channel {}", ctx.channel(), cause); ctx.close(); }}
还有一种情况:当使用ChannelPool .使用完要及时释放
private void release(ChannelHandlerContext ctx) { Channel channel = ctx.channel(); ChannelFuture cf = channel.close(); if (null != pool) { cf.addListener(future -> pool.release(channel)); }}@Overrideprotected void channelRead0(ChannelHandlerContext ctx, MtMessage msg) { try { channelRead1(msg); } finally { release(ctx); }}
到此,相信大家对“Netty socket通信channel资源释放关闭方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。