Ich entwickle eine Website, die SMS-Nachrichten abrufen wird, die an ein Gateway gesendet wurden. Das Gateway wird über eine API, mit den Anfragen im folgende Format zugegriffen:Unterschied in Serverzeiten
http://www.smsgateway.com/?login=myusername&password=mypassword&lasttime=1236164238
Beachten Sie, dass ich das letzte Mal zu verfolgen habe Nachrichten heruntergeladen wurden - nur die Nachrichten nach diesem Zeitpunkt eingehen, werden zurückgegeben.
Das Problem ist, dass es einen Zeitunterschied von ca. 5 Minuten zwischen den Servern gibt! Hier ist, was passiert:
-> Benutzer sendet SMS; Gateway-Server es um 11.00 Uhr Zeitstempel (sagen wir mal tatsächliche Zeit ist 10.55)
-> Mein Server Anfragen alle von 10,56 ab gesendeten Nachrichten - erhält die obige Nachricht und fügt sie in die Datenbank
-> Mein Server-Anfragen Alle Nachrichten von 10.58 ab gesendet - die obige Nachricht empfängt und fügt sie wieder, da es sich um 11.00 Uhr
timestamped -> Mein Server sendet eine weitere Anforderung, um 11.00 Uhr - empfängt die Nachricht und fügt sie einmal in die Datenbank mehr
Also mein Problem ist, dass die eine ursprüngliche Nachricht 3 mal empfangen wird.
Ändern der Zeit meines Servers ist möglich, aber nicht die Remote-Server.
Wie kann ich damit umgehen, ohne zu überprüfen, ob die Nachricht bereits in der Datenbank ist?
Danke für Ihre Hilfe, das sieht nach dem Weg aus. –