采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
System.in.read()会一直阻塞,所以这里的while(true)循环可以去掉?
同学你好~这个问题提得好。我建议你先自己试一下去掉这个while循环,看一看和原先的代码在运行时有什么相同和不同之处~
答非所问,别人问你原因,你都不解释,还让别人自己试,弄得我有这个疑问时,也看不到正确答案,不知道你怎么想的,而且这个教程是不是烂尾了,看后面2022年很多同学的问题都没人解答
看了9-2节,你说的那句话反复看了半天好像明白了,while循环是为了让服务器可以一直运行,因为会有其他客户端随时会加入,System.in.read()是为了让这个循环暂时阻塞住,当我们从客户端输入消息时,这个阻塞消失,这样accept()方法又可以重写被调用,因为键盘只要一输入这个阻塞就消失了,没有循环,start()方法就直接结束了,不知道有没有理解错。但是感觉好绕,这样故意设计出来的,真实生产环境也是这么写的嘛?我感觉这个教程主要还是入门例子,和生产实际联系的不够多,还得自己扩展深入,这个教程广度有了,深度远远不够,没有达到我的预期
System.in.read()的作用:其实就是想看到回调方法有没有被调用,这样达到异步的效果,主要这里没有其他任务了,所以加一个System.in.read()阻塞住。 这里只是为了测试,实际上没有什么意义,因为就一个任务,同步通信就可以了。。。。反正就是练习用的,没实际意义
登录后可查看更多问答,登录/注册
对比式学习助你真正理解BIO/NIO/AIO三大网络编程模型。
1.4k 1
878 5
883 5
841 5