read方法本来就是阻塞的啊,不然你怎么可以一直读取数据。 你想要的无非是在数据传输完了之后,关闭socket。 可以向你说的,服务端数据发送完毕后,在发送一个结束标志,然后客户端通过判断接收的是不是这个结束标志,如果是,close 掉socket。 但这种方法不是特别好,还是自己定义一个数据报文格式把,例如,“数据长度+数据”,这样也避免了粘包问题。
new BufferedReader(new InputStreamReader(socket.getInputStream())).readLine()是这样吧 socket.inputstream.read()没报错吗
62,628
社区成员
307,259
社区内容
加载中
试试用AI创作助手写篇文章吧