Autor | Zpráva | ||
---|---|---|---|
foxik_cz Profil * |
#1 · Zasláno: 13. 5. 2013, 07:03:53
Dobrý den,
udělal jsem přítelkyni malý program, který používá ajax pro načítání informací. Jen mi přijde prodleva "1 minuta" moc dlouhá. Jak to dělá například fb, že zobrazuje na mini chatu okamžitě co odeslal protějšek. Určitě to nedělá tím, že obnovuje každou vteřinu :-) Děkuju |
||
shaggy Profil |
#2 · Zasláno: 13. 5. 2013, 08:45:36
foxik_cz:
„Určitě to nedělá tím, že obnovuje každou vteřinu“ Skoro aj áno ;-) Facebook používa long polling, jednoduché vysvetlenie aj s ukážkou kódu nájdeš napr. tu: http://stackoverflow.com/questions/333664/simple-long-polling-example-code |
||
juriad Profil |
#3 · Zasláno: 13. 5. 2013, 08:48:34
Jak to dělá facebook nevím, ale obecně existuje několik přístupů, které se často v praxi kombinují.
1) Long polling - dlouhé spojení Jistě víš, že na každý požadavek server reaguje odpovědí. Obvykle se snaží odpovědět okamžitě, ale co kdyby odpověděl až v okamžiku, kdy bude dostupná nová zpráva? V takovém případě, AJAX na klientovi dostane odpověď sice po dlouhém čase, ale v relevantní čas. Jelikož síťové prvky (routery, brány) si udržují přehled o jednotlivých spojeních a spojení zahodí, pokud příliš dlouho nepřijde odpověď, tak se obvykle na serveru nastaví limit: čekej maximálně třeba 30 sekund a pak v každém případě odpověz, klidně i negativně (žádné zprávy za půl minutu nepřišly). 2) Klienti s novějšími prohlížeči mohou využít technologii WebSockets Jedná se o obousměrnou komunikaci po jediném spojení, které se udržuje naživu po celou dobu. Tato metoda je navíc dost náročná na implementaci na serverové straně. Přesto je pro na tyto úlohy optimální: server může klientovi poslat cokoli kdykoli, nemusí čekat na požadavek z klienta. |
||
foxik_cz Profil * |
#4 · Zasláno: 13. 5. 2013, 09:18:06
Děkuju moc. Pro záměr za kterým jsem to dělal bude nejlepší jak to mám udělané. Jen mne zajímalo jestli by sem to nemohl udělat líp a třeba s menší zátěží pro server. Vím, že to bude znít směšně, ale je slušný předpoklad velké návštěvnosti za den.
|
||
Kcko Profil |
#5 · Zasláno: 13. 5. 2013, 12:32:26
foxik_cz:
Jen mne zajímalo jestli by sem to nemohl udělat líp a třeba s menší zátěží pro server. a to je právě onen long pooling viz [#2] shaggy |
||
Časová prodleva: 11 let
|
0