Diskuze: NodeJS server pro realtime chat?

PHP PHP NodeJS server pro realtime chat? American English version English version

Avatar
Dan Balarin
Člen
Avatar
Dan Balarin:

Č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. dubna 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
Redaktor
Avatar
Odpovídá na Dan Balarin
Taskkill:

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. dubna 20:51
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Taskkill
Jan Vargovský:

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. dubna 21:00
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Jan Vargovský
Taskkill:

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. dubna 21:27
Avatar
Dan Balarin
Člen
Avatar
Dan Balarin:

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. dubna 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ý:

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. května 0:35
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Jan Vargovský
Taskkill:

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

 
Nahoru Odpovědět 1. května 0:55
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Taskkill
Jan Vargovský:

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. května 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.