Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pomoc potrzebna - stoper online
devsiok
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.07.2016

Ostrzeżenie: (0%)
-----


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.

Ten post edytował devsiok 25.06.2020, 07:14:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
netir
post
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 5
Dołączył: 20.05.2019

Ostrzeżenie: (0%)
-----


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/.

Ten post edytował netir 29.06.2020, 11:15:43
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 13:39