Socketinputstreams上的Java滑动窗口

时间:2018-02-03 12:36:57

标签: java stream streaming inputstream sliding-window

我有一个Android应用程序,通过TCP将Sensordata(作为一个字符串)流式传输到java服务器应用程序。相关代码:

BufferedReader in = new BufferedReader(new 
InputStreamReader(client.getInputStream()));
while (running && in != null) {
    String message = in.readLine();
    if (message != null) {
       this.messageReceived(message);
    }
}

目前我在messageReceived方法的文本文件中写入消息,它工作正常。当我从我的Android应用程序发送“停止”消息时,将保存文本文件并将该文件用于自动处理。问题是,我不想从我的应用程序发送一个“停止”标志来开始处理,而我想缓冲消息并使用类似滑动窗口的东西,它将一些数据保存到txt文件并自动处理它。 例如,当我收到以下行时:

  1. “2.0,1.0,3.2”

  2. “2.4,2.1,4.2”

  3. “1.0,5.0,8.2”
  4. “3.4,3.1,2.2”
  5. “1.4,5.1,5.2”
  6. “6.0,8.0,6.2”
  7. “9.4,9.1,7.2”
  8. 第一个txt文件应该包含1-3行,第二个3-5,第三个5-7,所以一个(实际上窗口大小应该大得多,重叠到)。经过几天的研究后,我不知道如何实施。

0 个答案:

没有答案