![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 17.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam takowy problem: program napisany w c++ (początkowo exe potem na linuxie) liczy czas oraz za pomocą socketów sterowane jest jego zatrzymywanie, wznawianie i resetowanie. Komendy start, stop, resume są aktualizowane w bazie mysql. Ja chciałbym by na stronie WWW był wyświetlany ten czas(odświeżany co 1s). Jak to zrobić by przeglądarka wiedziała kiedy czas jest zatrzymywany i wznawiany oraz by nie trzeba było co 1s uruchamiać AJAX sprawdzający MYSQL bo to zamula strasznie system. z góry dziękuję za odpowiedź |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Temat rzeka
![]() - google -> duplex connection, polling, long polling, node.js, websockets, tornado web server itp. itd... naprawdę sporo tego ![]() Ten post edytował CuteOne 3.09.2011, 08:48:31 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 17.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
wielkie dzięki
to może teraz tak: co z tego najlepiej użyć ze względu na wydajność ale też łatwość implementacji? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
jeżeli masz serwer na linuxie i znasz podstawy JS to node.js lub coś bardziej trywialnego - ajax + long polling
Ten post edytował CuteOne 3.09.2011, 11:54:30 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 17.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
kurcze,
próbuję znaleźć gdzie jakoś przystępnie opisany poolling i kicha. możesz coś polecić? najchętniej znalazłbym coś co: 1. sprawdzi czy nastąpiła zmiana wartości w MySQL (tylko by mało obciążało) 2. uaktualni wartość w JS pomożesz? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Serwer powinien wyglądać mniej więcej w ten sposób:
Kod #nieskończona pętla #pobierz z bazy informację czy coś się zmieniło #nic się nie zmieniło a czas pollingu jeszcze się nie skończył, kolejny przelot pętli #jeżeli dane zostały zmienione wysyłka danych do klienta np. poprzez json i zatrzymanie pętli #jeżeli czas pollingu został przekroczony zatrzymanie pollingu i wysłanie do klienta np. false #jakiś sleep żeby skrypt nie zabierał całej mocy obliczeniowej #koniec pętli |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.06.2025 - 19:57 |