Java 如何检查BufferedReader中是否有数据持续10秒
我目前正在java中使用一个Java 如何检查BufferedReader中是否有数据持续10秒,java,sockets,networking,Java,Sockets,Networking,我目前正在java中使用一个BufferedReader,我想知道如何持续检查这个阅读器中是否有数据大约10秒钟,然后停止检查。这将如何实现?我现在有这个,它只从缓冲区读取一次。我如何不断检查ServerInput是否有数据,然后对这些数据做出反应 BufferedReader ServerInput = new BufferedReader(new InputStreamReader(ClientSocketConnection.getInputStream())); while ((Str
BufferedReader
,我想知道如何持续检查这个阅读器中是否有数据大约10秒钟,然后停止检查。这将如何实现?我现在有这个,它只从缓冲区读取一次。我如何不断检查ServerInput
是否有数据,然后对这些数据做出反应
BufferedReader ServerInput = new BufferedReader(new InputStreamReader(ClientSocketConnection.getInputStream()));
while ((StringInput = ServerInput.readLine()) != null)
{
System.out.println(StringInput);
};
块,直到收到一行文本。您需要的是通过设置底层套接字的超时。阻塞,直到收到一行文本。您需要的是通过设置底层套接字的超时。请您再解释一下好吗?我是一个有点古怪的人newbie@Roberto我假设
ClientSocketConnection
是一个套接字,然后使用ClientSocketConnection.setSoTimeout(10000)
。在此之后,ServerInput.readLine()
阻塞,直到获得一行文本,否则将抛出SocketTimeoutException
。请考虑改变每个名字以小写字母开头的变量名,请你再解释一下好吗?我是一个有点古怪的人newbie@Roberto我假设ClientSocketConnection
是一个套接字,然后使用ClientSocketConnection.setSoTimeout(10000)
。在此之后,ServerInput.readLine()
阻塞,直到获得一行文本,否则将抛出SocketTimeoutException
。请考虑更改变量名称,其中每个变量都以小写字母开始。“CODEMAN是一个可怕的想法,当Socket读取超时已经存在。”CODEMAN是一个可怕的想法,当套接字读取超时已经存在。