假设我有一个客户端计数器变量。当我向服务器发送请求时,我发送此变量的值,然后将其加一(用于对服务器的下一个请求)。服务器独立地跟踪这个计数器,并检查以确保客户端发送的计数比它自己的(服务器端)计数副本多 1。这一切都很好,但考虑以下情况:
- 例如,客户端向服务器发送 23。
- 服务器收到 23,对其进行验证,然后将自己的计数器增加到 23。
- 服务器返回 All-Okay 代码给客户端
-但-
从服务器到客户端的过程中,返回代码被破坏。客户端因此认为服务器没有更新其计数器,因此将客户端计数器保留为 23。从这一点开始,客户端和服务器不同步。
有没有人知道面对这种可能的腐败/错误时可以使用的任何强大的方案?
谢谢,
卡梅伦