Autor | Zpráva | ||
---|---|---|---|
quatzael Profil |
#1 · Zasláno: 29. 10. 2020, 15:47:01
Ahoj,
mám dotaz, jak nejlépe vyřešit celkem jednoduchou "peer-to-peer" aplikaci (doufám, že to nazývám správně). Má to fungovat tak, že registrovaní uživatelé mohou libovolně spouštět 10 minutové odpočítávání. Prakticky něco jako je "kitchen timer". Tzn., že ho můžou: 1. kdykoli zapnout na délku 10 min a nechat běžet až do konce 2. kdykoli v průběhu odpočítávání vypnout 3. kdykoli v průběhu odpočítávání refreshnout na nových 10 min A zároveň aby ostatní uživatelé měli možnost všechno toto v reálném čase sledovat a u každého registrovaného uživatele, který spustí odpočítávání, reálně vidět po sekundách zbývající čas (odpočítávání). Doufám, že jsem to vysvětlil srozumitelně. Potřeboval bych nějak nastínit řešení. Tzn. jak to řešit s databází, SESSIONS, AJAX apod. Prostě jak to procesně nastavit, aby to fungovalo správně a hlavně efektivně. Zatím mě napadlo to akorát řešit ukládáním do databáze, pravidelnými AJAX requesty atd. ale nepřipadá mi to moc efektivní. Mělo by to být programováno v PHP (Symfony 5). pozn. Asi je na tohle lepší node.js, ale vzhledem k tomu, že jde prakticky opravdu jen o "odpočítávání" a takovýchto registrovaných uživatelů, kteří by to měli zároveň spuštěné, bude v reálu max. 20 až 50, tak si myslím, že PHP na to dokonale postačí.. Děkuji. |
||
blaaablaaa Profil |
#2 · Zasláno: 29. 10. 2020, 15:51:36
quatzael:
Zadavatel: 1. uzivatel si nastavi cas, cilovou hodnotu ulozis do db 2. pri zmene casu updatnes db 3. pri vypnuti nastavis null Uzivatel: 1. z db si vytahnes cas do konce 2. v js dopocitas cas do konce 3. pres setinterval odpocitavas do konce 4. bud se na pozadi v nejakem intervalu dotazujes, zda odpocet stale plati, nebo, pokud to potrebujes realtime, si nechas otevrene spojeni. |
||
quatzael Profil |
#3 · Zasláno: 29. 10. 2020, 15:58:19
blaaablaaa:
Přesně takhle mě to řešení napadlo.. až na tohle: „pokud to potrebujes realtime, si nechas otevrene spojeni.“ Jak se dělá to otevřené spojení? |
||
blaaablaaa Profil |
#4 · Zasláno: 29. 10. 2020, 16:09:26
quatzael:
Googli websocket |
||
quatzael Profil |
#5 · Zasláno: 30. 10. 2020, 22:20:34
blaaablaaa:
websocket se zdá být docela dost složitej koncept.. Chápu to správně, že musím mít fyzicky dva servery (jeden pro HTTP a druhý pro WS)? Půjde to vůbec provozovat na běžném hostingu? Druhá věc je nějaký tutoriál pro Symfony Mercure, moc srozumitelného jsem zatím nenašel.. |
||
Radek9 Profil |
quatzael:
„Chápu to správně, že musím mít fyzicky dva servery (jeden pro HTTP a druhý pro WS)?“ Nemusíš. Obojí to může běžet na jednom stroji. |
||
Časová prodleva: 3 roky
|
0