我想打印所有正在写入输入流的文本。在文本末尾,我希望循环终止,以便它可以接受更多的用户输入。由于某种原因,我的 while 循环永远不会终止,并且无限停止我的程序。如何编写 while 循环,以便在没有更多要打印的文本时终止?
public static void open() throws IOException {
sock.connect(new InetSocketAddress(InetAddress.getByName(arg[1]), Integer.parseInt(arg[2])));
InputStream stream = sock.getInputStream();
BufferedReader buff = new BufferedReader(new InputStreamReader(stream));
String output;
while ((output = buff.readLine()) != null) {
System.out.println(output);
}
}
对等方尚未关闭连接,因此循环永远不会终止。
问题出在哪里?如果我的代码没有错,则当您在套接字上没有收到数据时,while 循环将完成。
也许您的套接字总是有请求?