有可能从InputStream跳过数据如何删除缓冲的OutputStream中的缓冲数据?
in.skip(in.available());
但如果你想要做的OutputStream类似的事情,我发现
socket.getOutputStream()的flush()。
但这并不相同,flush会传输缓冲的数据而不是忽略它。
是否有任何删除缓冲数据的可能性?
感谢
编辑
的情况是客户端 - 服务器应用程序,当一个新的命令发送(从客户端) 它(试行),以确保该复读将对应于发送的最后一个命令。
某些命令由(人为触发)事件发送,其他命令由自动线程发送。 如果一个命令在缓冲区上,并且发送了一个新命令,那么答案将是第一个,导致失步。
当然,一个同步方法加上一个名为“waitingCommand”的标志可能是更安全的方法,但由于通信不可靠,这种方法很慢(取决于超时)。这就是为什么我要求跳过方法。
我觉得Secundary缓冲似乎是答案,谢谢你的实现示例 –