老师好!
来源:5-12 多人聊天室演示(下)

摇了摇头摇了摇头
2019-11-04
老师好!为什么我强制退出客户端终端以后,服务器的终端会出现这样的情况:
我在ChatServer的start方法while循环里打印了msg,发现msg是null的时候还是会进入while循环。。
最后好像没有异常直接退出了,这是什么情况0.0
写回答
1回答
-
Stannum
2019-11-05
同学你好~我想你在这里运行的是BIO聊天室,我没有重现你这个问题,可不可以再解释一下你是怎样强制退出客户端的?
如果你有改动过代码,那么我建议你看一下是否改动了ChatHandler中的这一行代码:
while ((msg = reader.readLine()) != null)
当客户端强制退出后,readhLine()方法无法在读取任何信息,所以会返回null值。如果while循环不检查null值,就有可能造成无限循环,类似你所描述的情况。
如果有更多细节需要咨询,也欢迎你在qq上私信我。
012019-11-05
相似问题