Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#20

AW: Wer nutzt denn alles DataSnap?

  Alt 29. Jun 2011, 09:47
So im Großen und Ganzen isses schon nutzbar.

Bei den Verbindungsabbrüchen bin ich auch ins stocken geraten.
Theoretisch enthält DataSnap ein OnDisconnect, wo man notfalls versuchen könnte die Verbindung neu aufzubauen.
Nur ist es so, daß DataSnap manchmal garnicht mitbekommt, daß die Verbindung weg ist und dann dieses OnDisconnect nie aufruft ... gibt dann nur beim nächsten Versuch eine Servermethode aufzurufen eine schöne Exception.
Das liegt aber vermutlich eher am intern genutzen DBExpress, denn da kann man die DBConnection auch fragen, was man will, selber bei einem Verbindungsabbruch ist dessen Connected gerne mal True und auch regelmäßige .Connect aufzurufen bringt nichts, da DBX ja denkt es sei noch verbunden.
Am Ende zählen wir jetzt quasi die Verbindungsprobleme und führen dementsprechend abundzu mal ein Disconnect+Connect auf.

PS: Man kann DBX zwar ein Timeout mitgeben, aber wenn der Server mal Probleme hat, dann wird dieses ganz gekonnt ignoriert und auch der Client bleibt dann einfach hängen.
Unsere schnelle etwas unschöne Lösung > die Methodenaufrufe werden jeweils in einen Thread ausgelagert, welcher nach paar Sekunden einfach links liegen gelassen wird.
$2B or not $2B

Geändert von himitsu (29. Jun 2011 um 09:53 Uhr)
  Mit Zitat antworten Zitat