Czesc,
ucze sie pythona w polaczeniu z websocketami i spieciem z tego z klientem napisanym w javascript.
Pisze aplikacje do grania w szachy. Pojawil sie problem z odliczaniem czasu. Czas odliczam na serwerze i u klienta i po wykonanym ruchu aktualizuje czas na ten z serwera. Problem w tych ze rozjazdy bywaja spore i np po wyslaniu ruchu od klienta zostaje mi 1s a po aktualizacji z serwera pojawiaja sie 3 sekundy.
Chcialem Was wiec zapytac jak mozna to zoptymalizowac zeby czas odliczany na serwerze i po stronie klienta mial jak najmniejsze roznice albo jak to zsynchronizowac zeby dla uzytkownika byla prawie nie zauwazalne.
Znalazlem cos takiego: https://en.wikipedia.org/wiki/Clock_synchronization ale zanim sie w to zaglebie chcialem Was zapytac o porade. Jak to najlepiej rozwiazac?
Aktualnie dziala to tak:
- Startuje gra, uruchamiam timer po stronie serwera i wysylam info do klienta,
- Klient dostaje info i uruchamia swoj timer,
- Klient wykonuje ruch i wysyla informacje
- Serwer zatrzymuje swoj timer i odsyla informacje o czasie
- Klient zatrzymuje timer i aktualizuje informacje o czasie z serwera
Jak to ulepszyc?
Z gory dzieki za pomysly:)