Dicken hat geschrieben:Hallo Herr Pätzold,
...
Fakt ist, für die Spieler war nicht klar, wer den Fehler gemacht hat, nur dass die Bedenkzeit nicht stimmte! Daraufhin wurde der Turnierstart nach hinten gelegt und die Zeit neu gestartet.
Dies ist nicht mein erstes Rapidturnier, und auf dem "alten" Server hatte ich diese Probleme nicht. Auch den Abmeldebutton sehe ich nach wie vor kritisch. Direkt vor mir hängt ein Riesenzettel "ABMELDEN", damit ich es nicht vergesse.
Fakt ist auch, dass sich die Methodik bei Rapid-Turnieren nicht geändert hat. Auch früher musste man sich abmelden oder der Server hat nach 2 Stunden ein Autologout durchgeführt.
Dicken hat geschrieben:Ich bin kein Programmierer, aber eigentlich sollte mit Schließen des Fensters, die Abmeldung vollbracht sein, oder aber der automatische Shutdown auf 5 Minuten statt 2 Stunden verkürzt werden. Ebenso sollten Züge des Gegners sofort sichtbar sein und nicht erst durch "aktualisieren" sichtbar gemacht werden müssen.
Die Kommunikation mit einem Webserver ist keine zweiseitige Telefonverbindung, sondern ist eher mit der Fernbedienung eines PKWs zu vergleichen. Das Fahrzeug sagt sich auch nicht, "Ich entriegele schon mal, es geht gleich los" sondern wartet auf das Funksignal, prüft die Berechtigung, entriegelt und zeigt das durch Einschalten der Blinker an. Fertig. Beim Webserver ist es genauso: Anfrage - Verarbeitung - Antwort - Beenden der Verbindung.
HTTP kennt keine Zustände oder Verbindungen. Daher muss die Anmeldung kompliziert simuliert werden. Auf dem PC wird ein Cookie hinterlegt, der den Namen der Sitzung enthält. Dieser Cookie wird mitgeschickt, wenn eine Anfrage gestellt wird. Dann schaut der Webserver nach, ob diese Sitzung existiert. Wenn ja, brauchen Sie sich nicht noch einmal anmelden und er führt die Anfrage aus. Danach beendet der Webserver die Verbindung wieder. Genauso verhält es sich mit der Anzeige der offenen Partien: Wenn Sie nicht fragen, sagt der Server nichts, auch wenn er schon neue Partien anzeigen könnte. Er weiss ja nicht, wo er die Info hinschicken soll und ob ein Empfänger da ist. Er bekommt aber auch keine Nachricht, wenn der Browser geschlossen wird, denn das müsste der Browser selbstständig tun, und der kann ja nicht für zig-millionen Webseiten wissen, wie die Abmeldung geht.
Daher wird ein Autologout-Mechanismus erstellt. Nach einer vorgegebenen Zeit löscht der Webserver die Sitzung. Eine spätere Anfrage funktioniert dann nicht, weil die Sitzung nicht mehr exisiert. Bei Banken geschieht dies nach etwa nach 15 Minuten. (Wenn Sie einen Zähler sehen wie "Die Sitzung wird in x Minuten beendet", dann stammt diese von einem Programm auf Ihrem PC, nicht vom Bankserver!).
Zurück zum Autobeispiel: Wenn ich an meinem Fahrzeug nach dem Betätigen der Fernbedienung nicht innerhalb von 45 Sekunden eine Tür oder Klappe öffne, verschliesst es die Türen wieder, selbst wenn ich daneben stehe - es weiss ja nicht, wo ich bin. Es könnte ja sein, dass ich versehentlich die Türen entriegelt habe, als ich den Schlüssel in die Tasche gesteckt habe. Es hat die vorherige Aktion schon vergessen, sei es, dass der PKW seit heute morgen auf dem Parkplatz steht oder sei es, dass ich es gerade verriegelt habe.
Der alte Server hatte ursprünglich ein Autologout von 20 Minuten, das war vielen Schachfreunden zu kurz, weil Sie keine Nachrichten schreiben konnten. Denn das Tippen der Nachricht geschieht auf Ihrem PC und der Server bekommt davon nichts mit, bis die Nachricht oder der Zug abgeschickt wird. Er interpretiert diese Zeit als Untätigkeit und meldet den Spieler automatisch ab. Jetzt wird auch klar, warum der Autologout nicht auf 5 Minuten gesetzt wird. Sie könnten nicht einmal in Ruhe über eine Partie brüten, und würden wegen Untätigkeit konstant abgemeldet, und nicht erst nach dem Schliessen Ihres Browser-Fensters.
Dies sollte auch Ihre Frage zum Abmelden und zur Logout-Zeit beantworten.