![]() |
DataSnap, unreliable Network, Wiederaufnahme der Verbindung
Hallo...
ich spiele zur Zeit mit DataSnap herum (Delphi XE) und stoße dabei auf ein mehr oder weniger großes Problem. Die Situation ist folgende: der Client hält einen Proxy mittels dem er Methoden des Servers aufruft. In einer unzuverlässigen Umgebung (bspw. WLAN) kann dies nun dazu führen, dass der Aufruf fehlschlägt (10054 o.ä.). Das wäre soweit kein Problem würde der nächste Aufruf, bei wieder bestehender Netzwerk-Verbindung, "durchgehen". Dies ist leider nicht der Fall. Lapidar dahingeschrieben, kann der Proxy anschliessend weggeworfen werden, ich habe adhoc keinen Weg gefunden ihn wieder dazu zu "überreden", mit dem Server zu kommunizieren. Zwar kann ich die Connection händisch schliessen und wieder neu öffnen, dies hat jedoch hinsichtlich der Clientsession (auf dem Server) Auswirkungen: diese steht nicht mehr zur Verfügung bzw. kann nicht mehr aufgenommen werden. Getestet habe ich als Protokolle sowohl TCP/IP als auch HTTP, KeepConnection mit True als auch False. Gibt es einen Weg, dieses Verhalten (von DataSnap) mit hauseigenen Mitteln zu beeinflussen, ist dieses Verhalten "per Design" (ich kenne andere Remoting-Frameworks welche dieses Problem adäquat lösen) oder hat jemand vielleicht weitergehende Hinweise zu dem Thema? Grüße hokuspokussimsalabim. |
AW: DataSnap, unreliable Network, Wiederaufnahme der Verbindung
Ich "antworte" mir mal selber... bin gestern beim debuggen noch auf zwei interessante Klassen gestossen: TDBXCommunicationLayerFactory sowie TDBXHTTPLayer in der Unit DSHTTPLayer. Ich werde mir das mal näher ansehen und, falls Interesse besteht, hier weiteres dazu schreiben. Sollte aber jemand einen "offiziellen" Weg mein beschriebenes Problem anzugehen kennen, so ist Feedback weiterhin willkommen.
|
AW: DataSnap, unreliable Network, Wiederaufnahme der Verbindung
Eine Verbindung die getrennt wurde, ist halt getrennt und kann nicht mehr aufgenommen werden.
Wenn du irgendwelche sessionabhänige Daten benötigst, dann könntest du diese Daten selber verwalten, beim aufbau einer neuen verbindung schuen ob der Client vor Kurzem schonmal verbunden war und dann die "alten" Daten übernehmen ... ansonsten die Daten neu erstellen. PS: Hab hier selber fast ein halbes Jahr gebraucht, um auch die letzteb Verbindungen halbwegs stabil hinzubekommen. :wall: |
AW: DataSnap, unreliable Network, Wiederaufnahme der Verbindung
Zitat:
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz