ゲートウェイに送信された SMS メッセージを取得する Web サイトを開発しています。ゲートウェイは、次の形式のリクエストで API 経由でアクセスされます。
http://www.smsgateway.com/?login=myusername&password=mypassword&lasttime=1236164238
最後にメッセージがダウンロードされた時刻を追跡する必要があることに注意してください。それ以降に受信したメッセージのみが返されます。
問題は、サーバー間に約 5 分の時差があることです。何が起こっているかは次のとおりです。
->ユーザーが SMS を送信します。ゲートウェイ サーバーは、午前 11 時にタイムスタンプを付けます (実際の時刻は午前 10 時 55 分としましょう)。
->私のサーバーは、10.56 以降に送信されたすべてのメッセージを要求します - 上記のメッセージを受信し、データベースに追加します
-> 私のサーバーは、10.58 以降に送信されたすべてのメッセージを要求します - 上記のメッセージを受信し、再度追加します。
-> 私のサーバーは 11.00 に別のリクエストを送信します - メッセージを受信し、もう一度データベースに追加します
だから私の問題は、1 つの元のメッセージが 3 回受信されていることです。
サーバーの時刻を変更することはできますが、リモート サーバーを変更することはできません。
メッセージが既にデータベースにあるかどうかを確認せずに、これを処理するにはどうすればよいですか?