2013-10-19 21 views
5

Ich sende Daten an den Server mit HTTP-Post und erfolgreich auf dem Server ausgelöst. Jetzt zwischen dem Senden der Daten und warten auf Server-Antwort, plötzlich aufgrund von Netzwerkproblemen mein Android-Gerät verloren Internet-Verbindung. In Gerät kann einen Alarm Dialog der Verbindung verloren zeigen, aber auf der Serverseite wurden die Daten bereits verarbeitet und es wurde in der Datenbank dh MySQL Server aktualisiert Aber mein Android-Gerät weiß dies nicht bcoz, bis es keine Antwort vom Server erhalten . Wie man es löst.Was tun, wenn Http Post erfolgreich abgeschlossen wurde und während des Wartens auf die Antwort die Internetkonnektivität verloren gegangen ist?

Ob es auf der Serverseite oder in Android-App und wie getan werden könnte?

Wie Server wissen, dass Android-Handy die Antwort bis jetzt nicht erhält?

Irgendeine Idee .. Warten auf die Antwort ???

+0

haben Sie eine Ausnahme erhalten, wenn Sie die Verbindung verloren haben? – Raghunandan

+0

Dont Go für Ausnahme .. Ich habe Dialog für die Verbindung verloren. –

+0

Was ist passiert, wenn Sie während der Buchung die Verbindung verloren haben (die vollständigen Daten wurden nicht veröffentlicht). – Raghunandan

Antwort

3

Für jede Anforderung, die vom Gerät auf den Server gesendet wird, sollten Sie eindeutige ID generieren (überprüfen GUID zum Beispiel)

Sie, dann Anfrage mit dieser ID an den Server senden, wenn Verbindung verloren - versucht, mit der neu senden gleiche ID

auf Server-Seite haben Sie überprüfen zu implementieren: wenn die Abfrage mit der ID wurde verarbeitet/inprocess/new

+0

Seine Ok .. First Time Request + Id wurde erfolgreich ausgelöst. So senden Sie die Req erstellen Verwirrung auf der Serverseite. Also wieder meine Suche nach doppelten Anfrage? Wie erkennt der Server Wiederholungsanfragen vom Client, wenn der Server die erste Anforderung erfolgreich erhalten hat? –

+0

@subhalaxminayak Überprüfen Sie meinen 3. Satz in der Antwort –

+0

Wenn es die Anfrage überprüfen, wird es finden, dass alle fertig bearbeitet Anfrage. als Es wird wieder die gleiche Antwort für diese bestimmte ID zurückgegeben oder dies kann einfach durch die Rückgabe der gleichen Antwort an den Client behandelt werden. M ich richtig ?? –

3

GUID: Globally Unique Identifier.

Es wird automatisch erstellt. GUIDs werden normalerweise als 128-Bit-Werte gespeichert und werden üblicherweise als 32 hexadezimale Ziffern mit durch Bindestriche getrennten Gruppen angezeigt, wie {21EC2020-3AEA-1069-A2DD-08002B30309D} GUIDs, die aus Zufallszahlen generiert werden, enthalten manchmal 6 feste Bits, die angeben, dass sie zufällig und 122 zufällige Bits sind; Die Gesamtzahl eindeutiger solcher GUIDs beträgt 2122 oder 5,3 × 1036.

Diese Zahl ist so groß, dass die Wahrscheinlichkeit, dass die gleiche Zahl zweimal zufällig generiert wird, vernachlässigbar ist; jedoch haben andere GUID-Versionen unterschiedliche Eindeutigkeitseigenschaften und Wahrscheinlichkeiten, die von garantierter Eindeutigkeit bis zu wahrscheinlicher Nichteindeutigkeit reichen. Unter der Annahme einer einheitlichen Wahrscheinlichkeit für die Einfachheit wäre die Wahrscheinlichkeit eines Duplikats ungefähr 50%, wenn jede Person auf der Erde 600 Millionen GUIDs besitzt.

Verwandte Themen