Autor | Zpráva | ||
---|---|---|---|
Ťunťa Profil * |
#1 · Zasláno: 19. 1. 2011, 17:23:31
Dobrý den,
snažím se scriptovat ajaxový chat a napadlo mě, že bych místo klasického způsobu, kdy se za nějaký časový úsek podíváme do databáze, abychom vypsali nové příspěvky zkusil něco co méně zatěžuje databázi. Mohl bych nechat ajax dotazovat se na PHP soubor, který by se do databáze nedotazoval a vracel ajaxu prázdné výsledky (zprávy které už byly zobrazeny by zůstávaly) a až když by nějaký uživatel vložil příspěvek, PHP script který by vkládal do databáze by script, který vyhazuje prázdné výsledky upravil a povolil mu podívat se do databáze co je nového, když by si každý uživatel stáhnul z databáze nové zprávy, sám by si přístup zakázal a nechal zase JS dotazovat se bez výstupu. Má otázka zní, je tento způsob v nějakém směru výhodnější než soustavné dotazy do DB, aneb je má myšlenka na hlavu postavená? Předem díky za všechny ohlasy. |
||
Darker Profil |
#2 · Zasláno: 19. 1. 2011, 18:14:07
Nejde to. Ale pokud bys ukládal do souboru, mohl bys zjišťovat kdy byl naposledy upraven.
Ale to cos tu popsal je nesmysl. Ptát se databáze jestli tam něco je není problém. Pokud jsi se už dostal do fáze, kdy posíláš jen nové výsledky, je to dost efektivní. |
||
Witiko Profil |
#3 · Zasláno: 19. 1. 2011, 18:57:44
Ťunťa:
Podívej, kometa! |
||
Ťunťa Profil * |
#4 · Zasláno: 20. 1. 2011, 07:42:47
Witiko: Jůů ta je ale krásná. (dík)
Darkek: Předem díky za tvůj ohlas. Neukládal chych do ext. souboru, rovnou bych upravoval skript (třeba jen nějakou proměnnou) například. Jen by mě zajímalo proč je to hloupost? Je to pomalé? |
||
ShiraNai7 Profil |
#5 · Zasláno: 20. 1. 2011, 09:21:03
Je to technicky možné (viz comet co psal darker), nicméně je to celkem náročné na naprogamování a můžeš narazit na četná omezení webserveru (max_execution_time v php a podobne). A co jsem vysledoval, tak i všechny velké chaty fungují běznou technikou pravidelných ajax requestů nebo refreshů iframe.
|
||
Witiko Profil |
#6 · Zasláno: 20. 1. 2011, 14:12:39 · Upravil/a: Witiko
ShiraNai7:
„viz comet co psal darker“ Psal jsem to já. Mimochodem například Facebook chat comet používá. Samozřejmě z důvodů tebou uvedených a především také neúplné podpory ze strany prohlížečů Facebook daný request po minutě zahodí a vytvoří nový. :) Samozřejmě na free hostingu bude povětšinou server-side problém právě se max_execution_time. |
||
ShiraNai7 Profil |
#7 · Zasláno: 20. 1. 2011, 21:38:33
Witiko:
„Psal jsem to já.“ Jo pardon, přehlédl jsem se. |
||
Časová prodleva: 13 let
|
0