3

我有一个客户端(android)-服务器应用程序,其中包含要分发给用户的任务。用户可以看到所有可用的任务,当他输入一个任务时,客户端会向服务器发送一个“READ”通知,表示该任务已被读取。

当android客户端上的连接断开时,我想缓冲服务器调用,并在连接恢复后执行它们。

用例:

连接中断,用户 A 打开 task1。客户端将在其服务层调用句柄,但该服务在连接恢复之前不会调用服务器上的 REST 句柄。

4

1 回答 1

1

我会创建:

  • Command表示要执行的操作(与服务器交互)的类。在此对象中存储信息,例如endpointUrl、以及执行对服务器的调用所需的任何其他信息。使这个类可序列化。httpMethodparameters

  • 一个Executor类,给定 a Command,可以执行操作(使用正确的参数和所有内容调用服务器端点)。

Executor收到由于服务器关闭而无法执行的命令时,它会序列化此命令。如果应用程序因挂起的命令而停止,则它需要位于永久存储(而不是内存)中。

当应用程序启动时,您应该添加逻辑以反序列化所有命令并执行它们。您还可以在网络状态上实现侦听器,当连接恢复时,执行与启动相同的操作:反序列化命令并执行它们。

于 2012-12-13T02:53:51.370 回答