![]() |
Datasnap Verbindung erneut aufbauen
Hi Leute,
folgendes Problem: Ich habe einen Datasnap-Server der Servermethoden bereitstellt, die eine Client-App unter Android aufruft. Vor jedem Aufruf einer Servermethode prüfe ich die Verbindung mit einer TIdTCPClient-Komponente. Sollte nun die Verbindung zum Server verloren gehen, wird nurnoch aus der lokalen Datenbank auf dem Gerät weiter gearbeitet. Sobald wieder eine Verbindung besteht sollen aber wieder die Servermethoden verwendet werden und genau hier liegt dann das Problem. Ich bekomme beim erneuten Aufruf einer Servermethode dann den Fehler "Verbindung wurde vom Peer zurückgesetzt" und manchmal auch "Zeitüberschreitung". Ich habe schon versucht die SQLConnection aus der ClientModuleUnit neu zu connecten, leider macht das keinen unterschied. Hier der Quellcode der Funktion, welche die Verbindung vor den Aufrufen prüft:
Delphi-Quellcode:
function TfrmMain.CheckServerConnection: Boolean;
var IniServer: TIniFile; begin IniServer := TIniFile.Create(TPath.Combine(FDocumentPath,'Server.ini')); Result := False; try TCPCheckConnection.ReadTimeout := 2000; TCPCheckConnection.ConnectTimeout := 2000; TCPCheckConnection.Port := StrToInt(IniServer.ReadString('Server','Port','')); TCPCheckConnection.Host := IniServer.ReadString('Server','Hostname',''); TCPCheckConnection.Connect; TCPCheckConnection.Disconnect; Result := True; if FOffline = True then begin FOffline := False; ClientModule1.SQLConnection1.Open; end; imgNoConnection.Visible := False; except FOffline := True; ClientModule1.SQLConnection1.Close; imgNoConnection.Visible := True; Result := False; end; IniServer.Free; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:53 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