是否可以延迟从socket读取BufferedReader

时间:2013-11-25 23:51:46

标签: java sockets delay bufferedreader

我想知道是否有可能延迟缓冲读取器从套接字读取时读取数据包的频率。目前有一台服务器通过本地主机将数据流式传输到客户端,客户端读取数据并将其拆分。我希望数据不被连续读取,而是希望每1/2秒读一个数据包。以下是我目前的代码:

设置BufferedReader:

`

Socket clientSocket = new Socket("localhost", 1240);
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

这段代码是读取数据包的地方:

while (true)    
{

   String line = inFromServer.readLine();

   if (line != null){

      String[] packetData = line.split(",");

      if (packetData.length == 5)
      {
    x = Double.parseDouble(packetData[1]);
        y = Double.parseDouble(packetData[2]);
        z = Double.parseDouble(packetData[3]);
      }
   }
}

如果有人能给我这方面的帮助,我将不胜感激。谢谢。丹尼尔

2 个答案:

答案 0 :(得分:0)

读完后可能会将500毫秒的延迟放入循环中。处理每一行,然后呢?请参阅Thread.sleep()

请参阅:

答案 1 :(得分:0)

你真的关心数据包(低级网络的东西)还是只对每0.5秒限制1行感兴趣?在后一种情况下,只需将Thread.sleep(500)放入while循环中。