netty优雅关闭channel通道

  if (channel != null && !channel.isActive() && !channel.isOpen() && !channel.isWritable()) {
         String userId = String.valueOf(this.getUserIdByChannel(channelHandlerContext));
         log.debug("不活跃remove,uid:" + userId);
         AppUserChannelsService.CHANNEL_MAP.remove(userId);
         channelHandlerContext.channel().close();
     }

channel != null 通道不能为空
!channel.isActive() 通道不能是活跃状态的
!channel.isOpen() 通道不能是打开状态的
!channel.isWritable() 通道不能是正在写入数据的

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Java NIO # Java NIO属于非阻塞IO,这是与传统IO最本质的区别。传统IO包括socket和文...
    Teddy_b阅读 3,777评论 0 0
  • 首先来张网上盛传的netty框架参考图,以供读者把握Netty的整体框架及核心组件,继而发散出Netty的重点知识...
    小圣996阅读 4,492评论 0 5
  • Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java I...
    JackChen1024阅读 12,211评论 1 143
  • netty 源码分析 (三) Channel sschrodinger 2019/06/25 参考 《Netty ...
    sschrodinger阅读 3,870评论 0 0
  • 晚上外面回来了,看着孩子纯真的笑,心里莫名的滋味,人活着是为了自己吗,既然有了爱情的结晶,不管爱情经营的如何,是当...
    登徒浪子_阅读 1,943评论 0 0