Rolf B: Nachtrag: Zeitdifferenz

Beitrag lesen

Hallo Jo,

ich verstehe dein Thema so:

Du hast also einen Client-Request. Der startet auf dem Server eine Aktivität. Und diese Aktivität hat eine geschätzte Laufzeit. Der Client soll sich erst nach Ablauf dieser geschätzten Laufzeit wieder melden. Dann gib doch vom Server einfach diese geschätzte Laufzeit zurück. Der Client setzt basierend darauf mit setTimeout(handler, estimatedTime) einen Timeout, nach dessen Ablauf das Ergebnis geholt wird.

Welche Latenz hast Du bei Pings zu deinem Server? 100ms? Das wäre schon viel. Dein Client holt also mit maximal 100ms Verspätung die Antwort. Ist das tolerierbar? Oder programmierst Du unter Realtime-Bedingungen (wobei JavaScript dann nicht unbedingt die beste Plattform ist).

Angenommen, der Client meldet sich zu früh. Kannst Du am Server ermitteln, wie die vermutete Restlaufzeit ist? Wenn ja, kannst Du dem Client "hab noch xxx Sekunden Geduld" zurückgeben und der setzt sich das dann wieder als Wartezeit.

Alles besser als ein Uhrzeitrundfunk - den Du ohne Websockets ohnehin per Longpolling oder ähnlichen Methoden implementieren musst.

Achso - Websockets. Wäre das eine Alternative? Der Client wartet GAR NICHT. Er bekommt nur vom Server per Websocket die Antwort zugeschickt, sobald sie fertig ist.

Rolf

--
sumpsi - posui - clusi