Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pomoc potrzebna - stoper online
Forum PHP.pl > Forum > PHP
devsiok
Mam pewien problem. Wykonano dla mnie skrypt odmierzający czas. W skrypcie jest strona "admin", na której stopuje i startuje się czas oraz zmienia jego wartość. Na stronie "klient" czas jest wyświetlany (klient wyświetla to, co jest w adminie.

Strona jest na poniższych linkach:

http://www.topdach1.ayz.pl/stoper/
http://www.topdach1.ayz.pl/stoper/admin123.php

Dopóki strona admin jest odpalona na pierwszym planie, to klient działa poprawnie. Problem pojawia się wtedy, gdy admina zniżam do belki lub przechodzę w zupełnie inne okno zakładki. W tym momencie w kliencie czas się zatrzymuje. Gdy ponownie wchodzę na admina to klient nadrabia czas. W czym jest problem ? Potrzebuję zrobić tak, że admina w każdej chwili mogę wyłączyć a klient i tak będzie działał.
Mam nadzieję, że dobrze wytłumaczyłem problem.
Lord
https://developer.mozilla.org/en-US/docs/We...ed_to_%3E1000ms

Ogólnie nie jest to zrobione poprawnie powinno sie zastosować websockets, napewno nie powinno sie aktualizować danych do serwera co kilka millisecond jak to teraz masz...
devsiok
Nie jest zrobione poprawnie ze względu na to, że nie jest zastosowane websockets czy dlatego, że za często jest aktualizacja danych ?

Ten stoper potrzebny mi jest do transmisji internetowych. Mam telewizję internetową transmitującą sport i wykorzystywane to jest w piłce nożnej halowej, gdzie przy każdej przerwie w grze czas jest zatrzymywany. Liczą się tam ułamki sekund.
Działa to w taki sposób, że jedna osoba wznawia i startuje czas na adminie a klient jest dodany do programu, na którym przeprowadzana jest transmisja.
netir
Jest źle zrobione bo jest zbyt często wysyłany request u pojedynczego klienta. Możesz albo aktualizować czas u Klientów/post u admina co kilka minut, albo najlepiej użyć websocketów, żeby zamiast tysięcy requestów, czyli połączeń TCP, które są non stop otwierane/zamykane, zrobić jedno przez websockety. W obecnej formie po wdrożeniu takiego skryptu, kilku klientów zarżnie Ci serwer.

W websocketach super jest to, że klient/serwer tylko raz się witają, a później strzelają do siebie już tylko danymi + tzn PING/PONG - czyli to jest dokładnie to co potrzebujesz.

Najlepiej oddelegować takie zadanie do zewnętrznego serwisu, żeby nie obciążać serwera HTTP. Z takich popularnych to np https://pusher.com/.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.