Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检查BufferedReader中是否有数据持续10秒_Java_Sockets_Networking - Fatal编程技术网

Java 如何检查BufferedReader中是否有数据持续10秒

Java 如何检查BufferedReader中是否有数据持续10秒,java,sockets,networking,Java,Sockets,Networking,我目前正在java中使用一个BufferedReader,我想知道如何持续检查这个阅读器中是否有数据大约10秒钟,然后停止检查。这将如何实现?我现在有这个,它只从缓冲区读取一次。我如何不断检查ServerInput是否有数据,然后对这些数据做出反应 BufferedReader ServerInput = new BufferedReader(new InputStreamReader(ClientSocketConnection.getInputStream())); while ((Str

我目前正在java中使用一个
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是一个可怕的想法,当套接字读取超时已经存在。