Diskuze: dotaz- aktualizace

PHP PHP dotaz- aktualizace American English version English version

Avatar
martin.vip
Člen
Avatar
martin.vip:

Ahoj, mam dotaz. Jak docílit toho aby se mi stránka, nebo widget na stránce automaticky aktualizoval při uložení informace do DB např. z jiného prohlížeče.

 
Odpovědět 21. srpna 11:42
Avatar
Odpovídá na martin.vip
Dominik Gavrecký:

Porovnaj údaje ktoré tam máš natiahnuté s tými ktoré tam sú a ak sa nezhodujú ich vypíš ... Prípadne si tam vytvor column time kde dáš posledný insert údajov a budeš porovnávať len ten

Nahoru Odpovědět  -2 21. srpna 11:51
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
martin.vip
Člen
Avatar
Odpovídá na Dominik Gavrecký
martin.vip:

tohoto se můj dotaz netýkal jde mi o to když v jednom prohlížeči uložím hodnotu do db tak aby se mi bez refresh stránky v jiném prohlížeči

 
Nahoru Odpovědět 21. srpna 16:54
Avatar
Odpovídá na martin.vip
Petr Štechmüller:

Ahoj, tak jsou tu dvě možnosti.

  1. Můžeš pořád "spamovat" svůj server třeba přes ajax a zjišťovat, jestli se ta hodnota změnila (špatná metoda)
  2. Postavíš si někde vedle NodeJS server, ke kterému se budou jednotliví uživatelé připojovat a přes sockety jim budeš posílat aktualizovaná data
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +2 21. srpna 17:01
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Dan Balarin
Člen
Avatar
Odpovídá na martin.vip
Dan Balarin:

Jak zde již psal @Petr Štechmüller, jsou dvě metody a ta první je špatná :D . Ta druhá se dá ještě rozdělit na dvě další, první je mít poskytovatele a platit mu za traffic (např Pusher ) a druhá je mít vlastní server. Mít vlastní server má několik výhod, nikdo ti to nezprostředkovává, takže ti to nemůže nijak kompromitovat, neplatíš za traffic ale za výkon a v případě výpadku jsi schopen problém lépe řešit.
Osobně doporučuji na NodeJS server knihovnu Socket.io která ti za prvé zajišťuje několik základních funkcí a za druhé poskytuje zpětnou kompatibilitu, včetně xhr (asynchronní požadavek) nebo jsonp v případě že ani xhr nefunguje.
K propojení PHP serveru a NodeJS serveru jsem používal Redis databázi. Komunikace je potom jednoduchá, když zpracuješ data a uložíš je do databáze (třeba MySQL) zároveň ty samé data uložíš do Redis databáze, NodeJS server zjistí že tam je nový záznam, ten si "přečte" a v Redis databázi ho smaže. Pak už jen zpracuje informaci a rozešle kam má (viz. obrázek).

Nahoru Odpovědět  +1 21. srpna 21:31
"The number one benefit of information technology is that it empowers people to do what they want to do. It lets...
Avatar
martin.vip
Člen
Avatar
martin.vip:

jo, no to je na mě moc složité... asi bude jednodušší to "spamovat" :-) díky za info

 
Nahoru Odpovědět  -2 23. srpna 8:10
Avatar
Odpovídá na martin.vip
Petr Štechmüller:

Ahoj, jenže programování není žádná procházka růžovým sadem. Pokud budeš používat tu první "spamovací" metodu, tak vlastně na sebe budeš dělat DDoS útok. Nevím, jak moc je tvoje stránka navštěvovaná, ale při větší návštěvnosti budeš mít velké problémy se serverem.

Nahoru Odpovědět  +2 23. srpna 9:03
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na martin.vip
Jiří Gracík:

Přesně jak říkají ostatní, když budeš spamovat, tak si při krátkých intervalech mezi požadavky zbouráš server, nebo se to při delších intervalech uživatel dozví mnohem později než se sockety.

Nahoru Odpovědět  +2 23. srpna 10:16
Creating websites is awesome till you see the result in another browser ...
Avatar
martin.vip
Člen
Avatar
Odpovídá na Petr Štechmüller
martin.vip:

nejde o veřejný internet, ale o firemní intranet... a aktualizace by mohla probíhat jednou za 5 min.... nic méně, čekal jsem že existuje elegantnější řešení...

 
Nahoru Odpovědět 23. srpna 19:52
Avatar
Odpovídá na martin.vip
Petr Štechmüller:

NodeJS je velmi elegantní řešení, téměř jediné řešení.

Nahoru Odpovědět 23. srpna 20:23
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
martin.vip
Člen
Avatar
Odpovídá na Petr Štechmüller
martin.vip:

jo už tomu věřím, na netu jsem jiné řešení krom "spamu" a tohoto nenašel

 
Nahoru Odpovědět 23. srpna 20:40
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.