S
Hallo,
Bin auf folgendes Problem gestoßen:
Angenommen Spieler sucht Gegner, Datenbankeintrag wird erstellt. Nun will er aber doch nicht mehr spielen und beendet einfach das Fenster, ohne auf "Will doch nicht mehr spielen" zu klicken. Sein DB-Eintrag ist aber noch verfügbar. Nun kommt Spieler2, der genau auf den abgehauenen Kerl passt. Schreibt ihn in die matched Tabelle und geht in den Chatroom. Doch es kommt niemand, da der andere Spieler schon längst nicht mehr spielen will, und nicht mehr dauernd nachsieht, ob in der matched Tabelle seine ID steht. Nun hat Spieler1 ein Problem, weil niemand da ist.
Wie könnte man diesen Fehler umgehen?
Ich dachte mir es so eventuell: Der Spieler refresht ja die ganze Zeit eine Seite, bei der überprüft wird, ob er in der matched Tabelle steht. Bei jedem Aufruf schreibt er zu seinem eigenen DB Eintrag die Serverzeit, wann sein letzter Refresh war. Wenn jetzt ein Gegner gefunden wurde, und seine Refreshzeit länger als 30 Sekunden her ist, wird der DB Eintrag von ihm gelöscht...nur hat das eben auch den Nachteil, dass es gut sein kann, dass er vor 20 Sekunden den letzten Refresh hatte, und als Gegner akzeptiert wird, obwohl sein Fenster geschlossen wurde. Soll ich dann einfach sagen: Pech gehabt?
Wohl nicht allzutoll.....hoffentlich habt ihr Ideen....
Danke,
Gruß,
Kevin