Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)
Avatar
Dan Balarin
Člen
Avatar
Dan Balarin:30.4.2016 18:51

Čaute ve spolek. Jako maturitní práci jsem dělal sociální síť v Laravelu(PHP framework). Část zadání byla real-time chat, tak jsem vytvořil NodeJS server pro zprostředkování komunikace. Co jsem se dočetl tak je to standartní řešení. A teď k otázce, dostal jsem předběžné slovní hodnocení kde je cituji: "Diskutovat se dá o nutnosti nasazení NodeJS, Nutnost 'refreshovat' stránku pro aktualizaci stavu chatu se dá obejít za použití Ajaxu".Otázky jsou dvě, v případě že jako "AJAX" zde uvažujeme čistý JS, tak posílat každou sekundu dotaz na server zda-li se něco nezměnilo, je veliká zátěž jak na server tak i na klienta, ne? A druhá jak websocket, tak i NodeJS, konkrétně knihovna Socket.io používá AJAX pro komunikaci, nebo se mýlím? Není to nic kvůli čemu bych neprošel nebo tak něco, jen mě zajímá názor někoho, kdo s tím pracuje déle než jeden měsíc :D

Odpovědět 30.4.2016 18:51
"The number one benefit of information technology is that it empowers people to do what they want to do. It lets...
Avatar
Taskkill
Šéfredaktor
Avatar
Odpovídá na Dan Balarin
Taskkill:30.4.2016 20:51

Je to zatez na server? - Ano a zbytecna.

Co pouziva socket.io ? Websockety a pro pripad nekompatibility tam ma nejak poresenej ten realtime, pravdepodobne neco jako klasickej ajax ... ale jiste to nevim, nestudoval jsem to do hloubky. (https://en.wikipedia.org/wiki/WebSocket)

Hlavni rozdil spociva prave v tom realtime ... zatimco get/post si musis o data rict, tady ti je muze server cpat jakmile jsou... proto realtime. Prece jenom, kdyby socket.io pouzivalo jen ajax, tak by moc nemelo smysl..

Akceptované řešení
+20 Zkušeností
Řešení problému
 
Nahoru Odpovědět  +2 30.4.2016 20:51
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Taskkill
Jan Vargovský:30.4.2016 21:00

Nvm jak socket.io, ale ostatní real-time nástroje používaj WS -> SSE -> FF -> a pak až tady je AJAX jako nejhorší varianta.

 
Nahoru Odpovědět 30.4.2016 21:00
Avatar
Taskkill
Šéfredaktor
Avatar
Odpovídá na Jan Vargovský
Taskkill:30.4.2016 21:27

Premyslim, kde jsem napsal neco, co by tomu neodpovidalo... mozna ta zminka o fallbacku, ktera nebyla uplne rozvedena... nicmene ja fakt nevim jakou ma secketio vnitrni strukturu, ajax nekde dole bude urcite, pro podporu totalnich vykopavek a co si vybere pokud neni websocket fakt netusim, mam pocit, ze websockety maji daleko lepsi podporu nez sse ... takze jestli ty sipky maji ukazovat smer podpory starsich browseru ... tak mi to moc nedava smysl (na druhou stranu, ty kdo nejedou sse jsou edge a iecko ) ... w/e co jsem rekl je v souladu s tim co pises ty... takze souhlasim, ale do hloubky to rozebirat nemuzu, websockety mam na seznamu hloubkoveho prostudovani az v nedohlednu

 
Nahoru Odpovědět 30.4.2016 21:27
Avatar
Dan Balarin
Člen
Avatar
Dan Balarin:30.4.2016 22:53

Děkuji za odpovědi :) Takže výsledek je, AJAX ne-e a Socket.io má větší browser support než web socket tím že využívá několik metod komunikace, mezi které zapadá i web socket a AJAX. Řešení dostane první a nejobsáhlejší odpověď :-) .

Nahoru Odpovědět  +1 30.4.2016 22:53
"The number one benefit of information technology is that it empowers people to do what they want to do. It lets...
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Taskkill
Jan Vargovský:1.5.2016 0:35

Jen jsem ujasnil ten fallback na "horší" technologie (ty uvozovky hlavně při WS -> SSE - tam fakt rozdíl není skoro žádný, jesti ti jde čistě jen o server=>client), protože to vypadalo, že si myslíš, že bez WS už neexistuje nic jiného než AJAX.

 
Nahoru Odpovědět 1.5.2016 0:35
Avatar
Taskkill
Šéfredaktor
Avatar
Odpovídá na Jan Vargovský
Taskkill:1.5.2016 0:55

Krome skoro zadneho microsoftiho browseru tam neni rozdil :) http://caniuse.com/#… ... jinak okey... rozumim tvemu duvodu

 
Nahoru Odpovědět 1.5.2016 0:55
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Taskkill
Jan Vargovský:1.5.2016 11:38

Jde o to, že na WS potřebuješ celkem velké nároky, musí ti to podporovat server atd. Pro SSE nepotřebuješ v prakticky nic navíc. Navíc to u klienta lehce to nahradíš polyfillem (to se o WS uplně 100% říct nedá).

 
Nahoru Odpovědět  +1 1.5.2016 11:38
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 8 zpráv z 8.