我有一个客户端(android)-服务器应用程序,其中包含要分发给用户的任务。用户可以看到所有可用的任务,当他输入一个任务时,客户端会向服务器发送一个“READ”通知,表示该任务已被读取。
当android客户端上的连接断开时,我想缓冲服务器调用,并在连接恢复后执行它们。
用例:
连接中断,用户 A 打开 task1。客户端将在其服务层调用句柄,但该服务在连接恢复之前不会调用服务器上的 REST 句柄。
我有一个客户端(android)-服务器应用程序,其中包含要分发给用户的任务。用户可以看到所有可用的任务,当他输入一个任务时,客户端会向服务器发送一个“READ”通知,表示该任务已被读取。
当android客户端上的连接断开时,我想缓冲服务器调用,并在连接恢复后执行它们。
用例:
连接中断,用户 A 打开 task1。客户端将在其服务层调用句柄,但该服务在连接恢复之前不会调用服务器上的 REST 句柄。
我会创建:
Command
表示要执行的操作(与服务器交互)的类。在此对象中存储信息,例如endpointUrl
、以及执行对服务器的调用所需的任何其他信息。使这个类可序列化。httpMethod
parameters
一个Executor
类,给定 a Command
,可以执行操作(使用正确的参数和所有内容调用服务器端点)。
当Executor
收到由于服务器关闭而无法执行的命令时,它会序列化此命令。如果应用程序因挂起的命令而停止,则它需要位于永久存储(而不是内存)中。
当应用程序启动时,您应该添加逻辑以反序列化所有命令并执行它们。您还可以在网络状态上实现侦听器,当连接恢复时,执行与启动相同的操作:反序列化命令并执行它们。