クライアント側のカウンター変数があるとします。サーバーにリクエストを送信するときは、この変数の値を送信してから、値を 1 つ増やします (サーバーへの次のリクエストのために)。サーバーはこのカウンターを独立して追跡し、クライアントから送信されたカウントがそれ自体 (サーバー側) のカウントのコピーよりも 1 多いことを確認します。これはすべてうまくいきますが、次の状況を考えてみてください。
- クライアントは、たとえば 23 をサーバーに送信します。
- サーバーは 23 を受け取り、それを検証して、独自のカウンターを 23 に増やします。
- サーバーは All-Okay コードをクライアントに返します
-しかし-
サーバーからクライアントへの途中で、リターン コードが破損します。したがって、クライアントは、サーバーがカウンターを更新しなかったと考え、クライアント側のカウンターを 23 のままにします。この時点以降、クライアントとサーバーは同期していません。
このような破損/エラーの可能性に直面しても機能する堅牢なスキームを知っている人はいますか?
ありがとう、
キャメロン