[ERLEDIGT] - Intervalllänge zwischen zwei Timestamps messen, unabhängig von der Systemzeit?
-
Hallo,
Das Problem lässt sich mit der Funktion Environment.TickCount lösen.
wir entwickeln eine Serverapplikation, welche dauerhaft auf dem Serversystem läuft und TCP-Verbindungen zu diversen Clients verwaltet. Jeder Client muss mindestens alle zwei Sekunden ein Keep Alive-Flag an den Server schicken, damit die jeweilige Verbindung nicht geschlossen wird. Beim Empfang eines Keep-Alive wird also der Timer für die jeweilige Verbindung resettet und läuft dann wieder weiter. Parallel wird geprüft, ob einer der Timer die zwei Sekunden-Marke überschritten hat. (DateTime.Now - startTime).
Problem: Der Server synchronisiert alle sieben Tage dessen Systemzeit mit einem Timeserver. Dabei wird die Systemzeit jedes Mal um ca. zwei Sekunden nach vorne korrigiert - die Serverapplikation meint, der Timer würde bereits länger als zwei Sekunden laufen und schließt die Verbindung.
Kann man also die Zeitdifferenz zwischen einem gegebenen TimeSpan-Objekt und der aktuellen Zeit messen, ohne sich auf die Systemzeit stützen zu müssen?
Danke im Voraus für Antworten.