本篇内容主要讲解“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资源释放关闭方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/227890.html