PrintWrite的println接收的是一行数据,就是有回车的,你的服务器端读取的是一行数据,没有回车会阻塞。

解决方案 »

  1. 客户端的 println 方法会在最后加上一个回车 \n,而服务器端的 readLine 方法刚好必须读取到一个 \n 才会完成。客户端和服务器端就这样达成了一个协议。
      

  2. readLine是阻塞式的,当读入的内容是空或没有读到换行符(\n,\r,\r\n)系统会认为还没有读满一行数据,就阻塞了,后面的代码就不继续执行了。  你可以在客户端和服务器端发送的数据后加个"\n"试试应该就可以了。另外友情提示下,以后贴代码别截图,别人想调试还得一行一行的敲下你的代码。你给别人创造遍历,别人才能更好的回答你。
      

类似问题 »