Autor Zpráva
Ťunťa
Profil *
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
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
Ťunťa:
Podívej, kometa!
Ťunťa
Profil *
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
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
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
Witiko:
Psal jsem to já.

Jo pardon, přehlédl jsem se.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: