0

服务器-客户端应用程序通过 http/xml 进行通信。服务器发送带有数字或更确切地说是块 ID 的 xml 文件。有时客户端会收到比预期更高的块 id 的 xml。所以我需要排队,因为顺序很重要。我使用 aTreeMap<Integer, Document>所以我可以将 xmls 添加到地图中,直到收到带有预期块 ID 的 xml。也可能是服务器发送了一个 xml,但客户端接收到了较新的 xml。由于发送和忘记,服务器不知道这一点。所以我的问题是如何处理这个问题?我应该重构架构吗?它有一个模式吗?

例子

expected chunk id / real chunk id
      0                   0   eval
      1                   3   add to queue
      2                   4   add to queue
      3                   2   add to queue
      4                   1   add to queue
      5                   5   eval / eval queue
      6                   6   eval
      -                   7   no send to client
      7                   8   ?
      8                   9   ?
4

1 回答 1

0

我构建了一个OrderedRunnableQueue,您可以在其中添加Runnable一个数字。

于 2013-03-13T14:26:59.983 回答