本篇内容主要讲解“Netty socket通信channel资源释放关闭方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Netty socket通信channel资源释放关闭方法是什么”吧!
建安网站建设公司创新互联公司,建安网站设计制作,有大型网站制作公司丰富经验。已为建安1000+提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的建安做网站的公司定做!
当客户端或者服务端接收数据处理出现异常或者客户端主动关闭连接:会进入如下方法
此时 我们应该进行释放资源 将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资源释放关闭方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!