Netty的channel值发生改变,怎么办

问题遇到的现象和发生背景

使用Netty开发了一个功能上类似聊天室的程序,使用一个Hashmap来存储当前所有在线的客户端以实现单独给特定客户端发消息的功能。
结果有一天突然发现程序不能用了,检查了好长时间,最后发现Hashmap里的channel值发生了改变
客户端刚刚加进去时的Hashmap是这样的:
{192.168.0.15:40476=[id: 0x1a17988f, L:/192.168.0.15:18080 - R:/192.168.0.15:40476]}
但是当客户端掉线时,Hashmap无法删除掉这一项,变成了这样:
{192.168.0.15:40476=[id: 0x1a17988f, L:/192.168.0.15:18080 ! R:/192.168.0.15:40476]}
感觉就是因为channel改变了,导致删不掉,为什么channel会变成这样子?

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^