【发布时间】:2019-06-04 06:13:45
【问题描述】:
我正在编写一个非常简单的服务器应用程序,因此当客户端连接到它时,它每秒会从 for 循环中输出一个递增的数字:
int port = 9428;
ServerSocket serverSocket = new ServerSocket(port);
System.out.println("Waiting for client..");
Socket client = serverSocket.accept();
System.out.println("Client accepted!");
PrintWriter clientWriter = new PrintWriter(client.getOutputStream());
for (int i = 0; i < 10; i++) {
clientWriter.write(i + "\n");
clientWriter.flush();
Thread.sleep(1000);
}
clientWriter.close();
client.close();
虽然程序运行良好,但它以一种奇怪的方式对齐控制台中的输出:
要连接到服务器,我在 Windows 控制台中使用 telnet:telnet localhost 9428
我无法理解为什么它会以这种方式工作,我应该全部对齐在一列中,就像 System.out.println(i) 所做的那样。
有人遇到同样的问题并且知道如何解决吗?
【问题讨论】:
标签: java sockets printwriter