Java 是否可以延迟从套接字读取BufferedReader

Java 是否可以延迟从套接字读取BufferedReader,java,sockets,delay,bufferedreader,Java,Sockets,Delay,Bufferedreader,我想知道,当从套接字读取数据包时,是否可能对缓冲读取器读取数据包的频率设置延迟。目前,有一个服务器通过本地主机将数据流传输到一个客户端,该客户端读取数据并将其拆分。我不希望数据被连续读取,而是希望每隔1/2秒读取一个数据包。以下是我目前拥有的代码: BufferedReader的设置: ` " 这段代码是读取数据包的地方: while (true) { String line = inFromServer.readLine(); if (line != null){

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

BufferedReader的设置:

`

"

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

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]);
      }
   }
}

如果有人能在这方面给我帮助,我将不胜感激。谢谢Daniel

那么,在读取和处理每一行之后,可能会在循环中设置500毫秒的延迟?请参见
Thread.sleep()

见:


您真的关心数据包(低级网络内容),还是只想限制到每0.5秒1行。在后一种情况下,只需将Thread.sleep(500)放入while循环。

在读取和处理每一行之后,可能会在循环中放入0.5秒的延迟,那么?如果
line==null
您必须打破这个循环。谢谢您,我今天就开始尝试一下。
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]);
      }
   }
}