• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Node.js / ruletka / pytania

Object Storage Arubacloud
0 głosów
229 wizyt
pytanie zadane 15 lutego 2018 w JavaScript przez Yashe Dyskutant (7,720 p.)

Witam,

Tworzę projekt strony czysto "rozrywkowej" dla celów własnych. Stworzyłem system rejestracji oraz logowania, cała strona funkcjonuje jak należy. Niestety jest mała wada.. a właściwie duża i mam tego świadomość.

Strona posiada horyzontalną ruletkę, która co 14 sekund losuje jakiś kolor (czerwony, czarny lub zielony). Napisane to jest w prostym skrypcie js. jestem totalnie zielony jeżeli chodzi o node.js, więc mam parę szybkich pytań:

  • Jak on działa ? Na zasadzie, wrzucamy go po stronie serwera i każdy użytkownik widzi w realnym czasie, co wykonuje skrypt ? 
    Jeżeli tak.. to znaczy to tyle, że tak jak zwykły js, obsługiwany po stronie klienta wyświetlany jest "lokalnie" tak technologia node.js wykonuje jakąs funkcje ( w moim wypadku ruletki) i pokazuje to każdemu innemu użytkownikowi ? 
  • Na środku ruletki posiadam zwykły wskaźnik, który wizualnie pokazuje co zostało wylosowane. Jak oprogramować to, tak aby skrypt wiedział co zostało wylosowane ? 
    ( moja ruletka korzysta ze zdjęcia i po prostu je przewija w jedną ze stron ) - myślałem, o tym, czy można by było wykryć dany kolor po przez właśnie jakąś funkcję do tego przeznaczoną. 
    Chciałbym, aby w końcowym rezultacie nie było to zdjęcia, a osobne divy poruszające się w jedną stronę ( nie mam pojęcia jak to okodować)


To ważniejsze pytania, pewnie w ramach dyskusji pojawią się kolejne
Pozdrawiam serdecznie.

1 odpowiedź

0 głosów
odpowiedź 16 lutego 2018 przez szustka124 Gaduła (4,380 p.)

Do przesyłania wyników musisz posiadać nieprzerwaną komunikację serwera z klientem. Dość łatwo możesz to osiągnąć za pomocą socket.io. Gdy skrypt wylosuje liczbę, wysyła ją do wszystkich klientów.

Po odebraniu liczby od serwera musisz wyliczyć odległość między polem wylosowanym ostatnio, a nowym i puścić animację. Dla lepszego efektu dodaj kilka pełnych okrążeń.

komentarz 16 lutego 2018 przez Yashe Dyskutant (7,720 p.)
Okej rozumiem, a jak wygląda to w praktyce ? Do obsłużenia ów ruletki posiadam dwa osobne skrypty (jeden stosuje biblioteke)

Jeden skrypt jak wiemy obraca ruletką, drugi natomiast jest paskiem stanu, który odlicza do 14 później wykonuje funkcje ruletki z osobnego skryptu i wszystko ma swój interwał czasowy. Czy socket.io da mi możliwość wykonywania tego na "serwerze" i przesyłania wyników tej operacji innym osobą ? Bo na tym mi najbardziej zależy. Aby to inni widzieli, lecz nie mogli poznać mechanizmu wykonywanego skryptu
komentarz 16 lutego 2018 przez szustka124 Gaduła (4,380 p.)
Losowanie liczby odbywa się na serwerze co ileś sekund. Po wylosowaniu, liczba przesyłana jest do wszystkich klientów.

Po otrzymaniu liczby z serwera, wyliczasz jak ruletka ma być animowana i uruchamiasz.

Timer w przeglądarce nic nie wykonuje. Jest tylko informacją, że za około tyle czasu przyjdzie nowa liczba od serwera
komentarz 16 lutego 2018 przez Yashe Dyskutant (7,720 p.)
A okej, rozumiem.. logiczne. Czyli na serwerze odbywa się cały skrypt z wylosowaniem liczby, dane przesyłam do innych użytkowników, i lokalnym js, animuje to co chce.. a timer to tylko informacja dla użytkowników.

Okej, dziękuje

Podobne pytania

0 głosów
2 odpowiedzi 325 wizyt
pytanie zadane 29 marca 2022 w JavaScript przez KubaLaska Początkujący (350 p.)
+2 głosów
2 odpowiedzi 275 wizyt
0 głosów
1 odpowiedź 158 wizyt
pytanie zadane 18 października 2020 w JavaScript przez dkrakowski Nowicjusz (140 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...