Hallo zusammen!
Folgende Situation:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
Client A Server B
================================
1. A HTTP REQUEST => B speicher timestamp
(~100ms)
2. A <= Antwort B
(~600ms)
3. A soll nun ein Zeitrahmen von 5 Sekunden haben, seitdem A die Antwort von B in 2. erhalten hat
4. A HTTP REQUEST => B vergleicht jetzigen timestamp mit timestamp aus 1., darf nicht großer als X. Problem: 2. und 4. nehmen voraus- und unberechenbare Zeit in Anspruch
(~100ms)
|
Vielleicht ein wenig kompliziert dargestellt, aber im Grunde möchte ich, dass Javascript-Client A eine genau Zeitspanne (Genauigkeit im 1/10 Sekunden-Bereich) hat, um dem PHP-Server B eine Antwort zu senden.
Es soll letztendlich für ein Quiz sein, bei welchem der Spieler eine Frage bekommt, aber der Server gleichzeitig speichern soll, wann der Spieler die Frage erhalten hat, um dann zu prüfen, ob dieser schnell genug geantwortet hat.
Clientseitige Lösungen kommen hierbei nicht in Frage, aber Geld für großartige und komplexe Websocket-Server will ich auch nicht ausgeben.
Problematisch ist auch, dass die Ausführzeiten je nach Auslastung sehr variieren und natürlich die HTTP-Anfragen naturgemäß ebenfalls.
Das ist wahrscheinlich unmöglich, aber ich dachte mir, dass ich trotzdem mal fragen kann.
Edit:
Durchs googlen bin ich mittlerweile auf den Begriff "round trip time" gestoßen, kann mir das helfen?
Es sollte natürlich absolut nichts sein, dass irgendwie vom Client ausgeht und in dem Sinne dann "hackbar" ist.
Auch möchte ich es vermeiden, durch Pings so eine Art Durchschnitts-Latenz zu bestimmen. Aber ich fürchte bereits, das es da wohl keine Möglichkeit sonst gibt.