Hogyan tudok szinkronizált órát készíteni egy weboldalon?
Arra gondolok, ha a kezdőoldalon kiiratom a jelenlegi időt akkor az teljesen szinkronban legyen minden eszközön ahol épp nyitva van az oldal. Ugyanakkor váltson a másodperc.
Nyílván a szerver időt kellene kiíratni(ez közös) ami elvileg sikerűlt is, mégse nincs szinkronban. Mindig van egy kis eltérés. 300-400Ms. Próbáltam elég sok módszert amit a neten találtam.
Valami tipp?
#1: Az a kliens aktuális idejét kérdezi le - ami kliensenként eltérő lehet.
Kérdező:
"Nyílván a szerver időt kellene kiíratni(ez közös)"
Így van.
"ami elvileg sikerűlt is, mégse nincs szinkronban. Mindig van egy kis eltérés. 300-400Ms."
Feltételezem a kliens kéri le az időt - így mindig lesz egy kis differencia.
Én a Websocket irányában néznék szét: a becsatlakozott klienseknek a szerver küldheti el adott időközönként az aktuális időt, és amikor megkapják, kijelzik.
Illetve - hogy korrigálható legyen a kliensek különböző hálózati eléréséből fakadó késleltetés - alkalmazható az NTP protokollból ismert óraszinkronizációs eljárás:
Igen a kliens kéri le, ezen megpróbálok változtatni.
Socket.io-t használok.
NTP protokollról hallottam, de nem jártam utána.
Amit még kipróbáltam:
Itt van egy offset ami lefut annyi időnként amit beállítunk, de ezzel sincs 100%-ig szinkronban. 😅
Fenti linkhez tartozik egy github repo is. Jobb oldalt látható is.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!