Diskuze: Jak pravidelně aktualizovat PHP proměnou bez aktualizování celé stránky ?
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 10 zpráv z 10.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, pokud víš, že k aktualizaci dojde jednou za 30 vteřin, tak se tu
nabídli možnost posílat každých 30 vteřin AJAXovy požadavek na server. V
tomhle je akorát nevýhoda, že ten požadavek se pošle az ve chvíli, kdy
vytiká timer. Hrozí tedy, že na serveru se data aktualizují, ale klient se o
tom dozví nejpozději za 30 sec.
Jako další možnost můžeš zkusit socket.io v Node.js. Tím by jsi mel
zaručeno, ze když se data změnu na serveru, tak se hned aktualizují i u
klienta. Problém je, ze by to vyžadovalo další server + věci okolo.
Websockety. Ale nvm jak je na tom PHP s podporou.
Pokud nemas v JS absolutne zadne zkusenosti bude pro tebe nasazeni nodejs serveru vedle tveho php (pravdepodobne apache) dost overkill - sam to asi rychle nezvladnes, websockets na php, no zavisi jak moc si rozumis s php, eventuelne by to nemuselo tolik bolet, urcite najdes nejakej fajn projekt na githubu (pred casem jsem se dival, myslim, ze to melo slusnou kvalitu)
Nicmene je podle me naprosto dulezity zeptat se te, jakej load bude mit ta tvoje stranka? Kolik lidi tak ocekavas, ze bude pripojeno najednou, jak vykonny mas server, pripadne databazi. Otazky jsou to dulezity, protoze pokud pracujes na miniappce, ktera bude bezet na beznym webhostingu a bude ji pouzitav 5 - 10 lidi a navic nebude pozadavek na tu reakci na zmenu hodnoty naprosto okamzity, tak neni duvod se trapit socketama a nodejs ani phpckovyma socketama, proste bych tam nahodil kazdych 10 sekund ajax http request a bylo by. Muze bezet ve vlastnim workeru (vlakne), nebude ti vubec zatezovat hlavni kontext, jen cas od casu, kdyz se dostavi zmena jednoduse zahlasi hlavnimu kontextu zmenu a zase si tise vola na server jednou za 10 sekund ... no kazda situace ma svoje spravny reseni, musis se ty zamyslet jak narocny jsou pozadavky na tuhle funkci ale pokud si vyberes ajax a nebo websockety na nodejs na oboje jsou tu nejaky clanky, dozvis se co je potreba a muzes to uz od hodiny mit nasazeny.
Popremyslej a zvaz i svoje casovy moznosti, nestaci tu funkci jen zprovoznit, musis tomu rozumet pro pripad, ze se neco pokazi, nebo to budes nejak upravovat.
Co se týče zatížení serveru. Tak nic velkého nečekám. Bude to nejspíše něco kolem 5-10 lidí najednou více 100% ne.
No tak to se ti presne hodi AJAX (a pro pripadne smooth efekt na klientovi worker, ale obejdes se bez nej) mame tu v JS sekci o nem zatim dva clanky, ve kterych se ale dozvis presne to co potrebujes ... kdyz tomu das pul hodky na studium a max hodinku na implementaci a ladeni, mas hotovo
pojmy co te zajimaji mimo ajax:
setInterval() - pomoci tohohle nastavis kazdych X sekund opakovane volani nejake
tvoji funkce, to co tahle funkce vraci doporucuju ulozit do promenne ;
clearInterval() - kdyby ti snad nedejboze server vratil nejakou chybu, trebas i
opakovane, tak pomoci tehle funkce vycistis/vypnes to opakovane volani sve
funkce, je to dobry napriklad pokud se ti klient odpoji a ty mu nechces kazdych
10 sekund dal volat offline server ; to je asi vsechno na co si ted vzpomenu
Ok podívám se na to.
Ještě otázka, jelikož jsem v JavaScriptu nikdy nedělal. Měl bych se
podívat na nějaké základy ? Nebo je to +- shodné s PHP ?
opravdu vubec nikdy nic ? hmmm tak to by ti mozna nejakej ten zaklad neuskodil ...funkce, zakladni konstrukce, promenny mame tady dobrej uvod
Ok dík. Až někdy budu mít čas, tak se na to podívám.
Zobrazeno 10 zpráv z 10.