在用了lombok后觉得它自带的Slf4j非常好用,在学习了慕课风间月影老师的netty课程后,决定自己写一套netty聊天系统,左边的代码块是我写的。
客户端和服务端通信成功后,在心跳包这里我加了日志管理,
客户端发送心跳包过来后,服务器和客户端一直陷入死循环,服务器一直不停的接收链接,
断开链接,客户端一直断开链接,重新链接,客户端重启后,服务端仍然能收到上白条链接请求,排查很久,去掉日志管理,发现真的是这里的问题。
猜想:NIO是多线程非阻塞,当前线程处理了所有的读写操作后,走到log这里,而log又是io操作,耗时时间长,netty自己就将这条channl切断,然后客户端的重练机制,导致netty这边一直接收新的链接,顺便发一个心跳包,如此陷入死循环。
有高人指点下最好不过了~