Funktionsweise der Schachuhr
Aus SchacharenaWiki
Inhaltsverzeichnis |
Schachuhr
Da es immer wieder Probleme mit der Schachuhr gibt, habe wir hier die Funktionsweise mal beschrieben.So können Fragen diesbezüglich besser beantwortet werden. Mit dem Hypertext Transfer Protocol ist ja nur eine indirekte Synchronisation möglich.
Im ersten Zug läuft die Schachuhr noch nicht, denn der erste Zug kann ja auch schon ohne Gegner gemacht werden. Im zweiten Zug läuft die Uhr zuerst für Weiß.
Phase 1 - Eigener Zug
Die Uhr stoppt, nachdem gezogen wurde. Jetzt wird der Zug an den Server gesendet und überprüft. Zwischen ziehen und senden können bei einigen Useren noch 1 bis 2 Sekunden vergehen. (ist aber nicht der Normalfall). Es zählt immer die Serverzeit, also erst nach Empfang des Zuges bleibt die eigene Uhr stehen. Ist der Zug gültig, wird noch einmal die eigene aktuelle Restzeit aktualisiert. Die Uhr springt dabei, wenn alte angezeigte Zeit nicht mit neuer Serverzeit übereinstimmt.
Phase 2 - Start Uhr des Gegners
Vorausgesetzt, sie spielen mit Weiß und haben richtig gezogen. Jetzt bleibt die eigene Zeit stehen, die Uhr von Schwarz startet nach 3 Sekunden den Countdown. Denn nach durchschnittlich 3 Sekunden ist der Zug beim Gegner zu sehen. (Bei HTML kann nie einfach eine Seite vom Server zum Browser gesendet werden. Ein Browser muß die Seite anfordern. Er muss also immer beim Server nachfragen, ob der Gegner schon gezogen hat, und das verursacht zu viel Traffic, wenn das Intervall zu gering ist.) Da die 3 Sekunden Zugübertragungszeit nur ein Mittelwert ist, kann es zwischen angezeigter Zeit von und realer Zeit zu Abweichungen kommen. Die Zeit für Schwarz läuft in Wirklichkeit erst, nachdem Schwarz den Empfang des Zuges von Weiß bestätigt hat. Erfahrungsgemäß ist diese Abweichung aber selten größer als eine Sekunde.
Phase 3 - Zeitkorrektur Gegner
Wie schon in Phase 2 dauert die Übertragungszeit im Schnitt 3 Sekunden. Obwohl Schwarz schon gezogen hat, weiß Weiß zunächst noch nichts davon. Die Uhr von Schwarz läuft aus Sicht des weißen Spielers einfach weiter. Mit der Übertragung der Zuges wird auch diese Restzeit aktualisiert. Schwarz bekommt dabei scheinbar Zeit hinzu (im Schnitt eben genau diese 3 Sekunden) Weiß quittiert den Empfang des Zuges und wir sind wieder bei Phase 1
Es zählt also eigentlich nur eine Zeit, und zwar die vom Server. Der Server weiß genau, wann einer gezogen hat und wann der Zug quittiert wurde. Die angezeigte Zeit kann aus den oben genannten Gründen von der realen Zeit abweichen. Übrigens: Auch durch das Aktualisieren der Seite werden beide Zeiten synchronisiert.

