Autor Zpráva
malganis
Profil *
Zdravím Vás,
chtěl bych se zeptat na Vaše zkušenosti, ještě jsem pod rukama neměl přímo kód nějakého live chatu a zajímalo by mě, nejefektivnější řešení z pohledu rychlosti za předpokladu že by chatovalo třeba opravdu vela lidí.
Takže 1 věc: Automatický refresh chatové stránky.. Napadá mě akorát..
Chatové okno třeba v iframu a automatický refresh obsahu tohoto iframu.
Ajax s využitím setInterval například s parametrem času poslední zprávy a čísla místnosti a následný dotaz na db s temito podmínkami.

2 věc: pokud by místnost vznikala a zanikala s odchodem uživatelů jak zorganizovat uložiště dat..
Tak sqlko tabulka místností, a zpráv. Tady je dotaz zda-li třeba takových 30k řádků v tabulce zprávy (všechny zprávy cpát do jedné tabulky) nějak výrazně nezhorší následný autorefresh, který bude dotazovat do této tabulky nebo třeba dotaz na smazání všech zrpáv s id místnosti x..

Ještě mě napadlo pro každou místnost vytvářet texták nebo xml.. ale následné parsování xml nebo načítání textaku je asi blbost.

3věc: jak řešit že uživatel právě píše, jakože indikátor toho že ten za kabelem a klávesnicí na druhé straně právě mydlí do klávesnice. Je to spíše problém dialogu mezi 2ma uživateli ale to je jedno.
Tak nějaký onkeypress či podobný klávesový event takže jediná možnost je ajax a dál.. ? Ukládat do db jako třeba přidání nového řádku, po dopsání řádek smazat a na druhé straně testovat zda se řádek vyskytuje podle toho zobrazovat ikonku že protějšek píše..

Díky
DobráKlávesnice
Profil *
Na tyto věci se spíše hodí WebSockety. Když je použiješ spolu s např. Node.js, tak můžeš takový chat udělat jednoduše. Prostě si všechny místnosti hodíš do pole, když se někdo připojí, tak mu pošleš pár posledních zpráv z toho pole a když napíše, tak tu zprávu uložíš do toho pole a pošleš jí ostatním. Tak to bude rychlé a nebude to skoro vůbec vytěžovat server ani klienta.
malganis
Profil *
mm zajímavé, děkuji za odpověď.. ! :)
final
Profil
malganis:
To ale nerozchodíš na obyčajnom webhostingu :)
malganis
Profil *
No to nevím jak je to s podporou na českém webhosting.. Je jasné že jako zákadní slušba pro free host od webzdarma to nebude.. :D teda asi, nechci se dotknout wz.. Jenže definuj pojem obyč. webhosting. Však uvidím to v konfiguraci php po zadani phpinfo() zda-li server podporuje tuto službu ne?
Přemýšlel jsem použítí pro firemní live-podporu pro e-shop, případně kdyby někdy byl čas na tvorbu něčeho vlastního. Ale spíš se mi líbí ta technologie tak nevím zda-li jen někdy nevyzkouším na localu.
DobráKlávesnice
Profil *
Node.js nemá s PHP nic společného. Můžeš to ale hostovat třeba na Heroku (zdarma) nebo na VPS (zdarma host1free)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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