0

私たちは奇妙な問題に直面しており、それをどのように進めるかがわかりません。

問題は :

レポートを作成するアプリがあり、ユーザーがレポートを送信すると、サーバーに送信されます。操作が成功したかどうかを知るためのjson応答として確認応答を受け取ります。

しかし、次のような2つのシナリオの場合:

  1. ユーザーがレポートを送信します。デバイスで応答を受信する前に、ネットワークが切断されます。
  2. ユーザーがレポートを送信し、120秒以内に応答が受信されないため、タイムアウトになります。

:すでにタイムアウトとWiFiチェックをコードに組み込んでいます。

どちらの場合も、リクエストがサーバーに到達したため、レポートはサーバーで送信されます。クライアントは応答を受信しないため、クライアント側にエラーメッセージが表示されます。これで、ユーザーはレポートの送信を再試行しますが、これは正しくなく、レポートの重複が発生します。

このシナリオをどのように処理できますか?

4

1 に答える 1

0

ユーザーが送信するときに一意の送信 ID を生成します。失敗した場合は、同じ ID を使用して再度送信してください。サーバーは ID が存在するかどうかを確認し、レポートが既に存在することを報告します。

于 2012-11-28T07:38:24.290 に答える