dedlfix: Nachtrag: Zeitdifferenz

Beitrag lesen

Tach!

Das eigentliche Problem kurz umrissen: ein Benutzer startet irgendeinen Prozess und schickt einen dementsprechenden Request zum Server. Dieser verarbeitet dies und schreibt Start (Serverzeit) und Endzeitpunkt (Serverzeit + Prozesszeit) in eine Datenbank. Danach schickt der Server die neuen Daten wieder zum Client, ob der Prozess gestartet wurde oder ob dies nicht geklappt hat etc. Der Client schaut nun ob es geklappt hat und setzt einen Timer der Runterzählt bis der Endzeitpunkt erreicht ist. Wenn diese Zeit erreicht ist, dann schickt der Client wieder einen Request zum Server um die neusten Daten zu erhalten.

Geht dann nicht, eine bidirektionale Kommunikation einzurichten, bei der der Server die Erledigung meldet, statt dem Poll bei Timeout? Die Techniken dazu sind jedenfalls vorhanden, sei es nackiges Websocket also auch Alternativen wie Long Polling und Forever Frame, sowie Frameworks wie SignalR.

Wenn nun der Client um 1 Sekunde dem Server nachläuft, dann ist der Prozess zwar für den Client beendet aber nicht für den Server. Was dann zu Problemen führt wie zum Beispiel das der Timer nach dem Response wieder für eine Sekunde aufblitzen oder ähnliches.

Schickst du dann den Endzeitpunkt als Timestamp statt die Laufzeit als Timespan oder Anzahl der Sekunden?

Wenn die Laufzeit so exakt feststeht, dass man den Endzeitpunkt angeben kann, kann ich mir laienhaft vorstellen, dass nach Ablauf des Timers auf dem Client er einfach auf 0 stehenbleibt für den Rest der Zeit.

dedlfix.