Hallo,
ich benutze die TIdTime-Komponente von Indy um die lokale Uhr entsprechend richtig einzustellen.
Nun bin ich auf folgendes Problem gestoßen: Wenn ich mich auf einen Server verbinde der extrem langsam ist (evtl. auch nicht erreichbar), dann bleibt meine Applikation für ca. 20-60 sekunden hängen (ohne CPU-Last zu erzeugen). Danach bekomm ich die Fehlermeldung: "Socker Error # 10060 Connection timed out."
Ich habe in der Komponente allerdings eingestellt, dass "Timeout" = 2500 ist. Bei Server, die gut erreichbar sind, funktioniert es wunderbar.
Jetzt meine Frage: Bekomm ich das irgendwie hin, dass meine Applikation nicht hängen bleibt, wenn ein Server nicht erreichbar ist? Evtl. mit einen Thread?
Dinge die ich bereits getestet habe:
- Im OnWork-Ereignis hab ich ein Application.Processmessages eingebaut, allerdings wird dieses Ereignis währenddessen nicht aufgerufen
- Eine TIdAntiFreeze-Komponente platziert. Hat keine Unterscheid gebracht.
Falls es jemand testen will: Einfach mal nen Testprojekt anlegen, eine TIdTime-Komponente platzieren, als Host die IP: 192.43.244.18 eintragen und zum Schluss IdTime.DateTime im Code aufrufen.
Schonmal vielen Dank für eure Antworten