所以我正在尝试创建一个简单的服务器客户端程序,其中多个客户端可以连接到单个服务器。我在客户端和服务器端都运行一个线程。我有一个文件“loginuser.txt”,其中包含 5 行文本。此代码是服务器线程。当我调用 outToClient.println("xxx") 或任何东西时,客户端一次接收的不是多行。每次用户在键盘(在客户端)上输入任何内容时,文件的下一行都会显示在同一终端上。有人能告诉我为什么会这样吗?我哪里错了?基本问题:对于从服务器到客户端的单行 println(),似乎我每次都必须在客户端输入一些内容。
BufferedReader inFromUser=new BufferedReader(new InputStreamReader(System.in));
BufferedReader inFromClient=new BufferedReader(new InputStreamReader(client.getInputStream()));
BufferedReader userlogr=new BufferedReader(new FileReader("loginuser.txt"));
PrintWriter outToClient = new PrintWriter(client.getOutputStream(), true);
if(check==1)
{
fromclient=inFromClient.readLine();
if(fromclient.compareTo("xxx")==0)
{
String line;
while((line=userlogr.readLine())!=null)
{
System.out.println(line);
outToClient.println(line);
outToClient.flush();
}
}
}