peng1990
2016-05-03 10:14
在老师写的代码里面server端while((info=br.readLine())!=null),这句代码是可以执行的。 但是当我自己写的时候while((info=br.readLine())!=null)这句就一直阻断在这。查阅了资料, br.readLine()这个方法是阻断的,只有收到'\n'或者'\r'才会返回。因此,我在我代码的 client端输出的最后加了'\n',server端就能收到结果。很奇怪,为什么老师的client端发送的 内容最后没有'\n'但是仍然发送成功了。。。。。
找到原因了,老师在client端关闭了io流,这个时候br.readLine()会返回空。如果不关闭io流,br.readLine()会一直阻塞。。。。
Java Socket应用---通信是这样练成的
125005 学习 · 627 问题
相似问题