Java 显示先前数据的缓冲输入流

Java 显示先前数据的缓冲输入流,java,sockets,networking,Java,Sockets,Networking,1.使用套接字连接2个客户端 2.Client1将某些内容写入套接字 3.客户端2读取数据 4.然后客户端2将数据写入同一套接字 5.客户端1现在读取数据 问题出现在步骤5。 在步骤5到client1的缓冲输入流中可用的数据也包含在步骤2写入的一些数据量。在步骤3中,客户端2读取数据时,输入流未被清除。 请帮助我假设每个客户端有一个套接字,并且有一个单独的流用于发送和接收。因此,不可能混淆客户机之间的数据或进出的数据 我建议您在客户端上有一个读写线程,在服务器上有一个线程 您不能刷新流。请尝试在

1.使用套接字连接2个客户端

2.Client1将某些内容写入套接字

3.客户端2读取数据

4.然后客户端2将数据写入同一套接字

5.客户端1现在读取数据

问题出现在步骤5。 在步骤5到client1的缓冲输入流中可用的数据也包含在步骤2写入的一些数据量。在步骤3中,客户端2读取数据时,输入流未被清除。
请帮助

我假设每个客户端有一个套接字,并且有一个单独的流用于发送和接收。因此,不可能混淆客户机之间的数据或进出的数据


我建议您在客户端上有一个读写线程,在服务器上有一个线程

您不能刷新流。请尝试在字符串末尾附加“\n”

PS:使用缓冲流代替缓冲流将更容易


愉快的编码。

Java中的缓冲输入流中不太可能存在错误,因此请确保您正在读取所有应该读取的数据。您的问题令人困惑,最大的问题是这是两个完全不同的缓冲输入流。另外,您是否在读取数据后刷新流?你能展示一些代码并大大地澄清你的问题吗?