当计时器结束时,如何中断用于从套接字接收数据的while周期



我有一个客户端,从服务器接收周期性数据

while (true) {
     System.out.println(in.readLine());
}

我想设置一个5秒的定时器,当时间过期时从循环退出。我已经找了很多地方,但还没有找到任何可以帮助我的。

我已经尝试过定时器类,但我发现只有一个例子来安排任务的执行。

我尝试的另一件事是使用System.currentTimeMillis(),但由于in.readLine()阻塞,我不能打破循环并继续执行。

谢谢!

您可以设置套接字的setSoTimeout(int)超时读取输入流

其中int以毫秒为单位

最新更新