Stránka 1 z 1

Jak udelat www chat...

Odeslat příspěvekNapsal: 17. 6. 2005 19:54
od dingo
Jak udělat v php+html+mysql (lépe pomocí perl+xhtml+pgsql, ale technika bude IMO uplne stejna) chat?

Celkem by se mi hodily nějaké obecné rady... Nejlépe od někoho kdo se o podobnou věc už někdy pokoušel. Kdyby na to měl být stručný návod, jak by zněl :idea: ?

Moc dík za jakékoli nápady/návrhy/věcné připomínky k chatu (ne jen planá kritika, jak je tu skoro zvykem :( )

Odeslat příspěvekNapsal: 17. 6. 2005 23:19
od gofry
Skoro tak isto ako obycajny guestbook, ale stranka sa ti bude po nejakom case refreshovat - To je ale velmi velmi velmi hruba idea, iste to ide aj lepsie. Myslim, ze je to dost rozsiahly projekt na to, aby to tu bolo popisane na par riadkoch. Lepsie asi bude popozerat sa po sieti velkym Googlom.

Odeslat příspěvekNapsal: 19. 6. 2005 10:51
od dingo
Super, moc jsi mi pomohl, gorfliku... :-)

Odeslat příspěvekNapsal: 19. 6. 2005 11:18
od gofry
dingo píše:Super, moc jsi mi pomohl, gorfliku... :-)
Ty kokso, ani som si nevsimol, ze to si ty Dingo Dingullus Dingodzilla ;)

Odeslat příspěvekNapsal: 21. 6. 2005 22:31
od satai
Zkus se mrknout na nějakou cool, novou a moderní technologii, jako je Ajax. Není to triviální, ale uživatelská přítulnost je ve výsledku velmi pěkná.

Odeslat příspěvekNapsal: 27. 6. 2005 07:41
od real name
skus pohladat na nete phpbb.com (a zrejma dalsie podobne projekty)
(bohuzial este nemam osobnu skusenost, vid aj http://forum.zive.sk/viewtopic.php?t=2489)

zdieľaná cache

Odeslat příspěvekNapsal: 8. 6. 2007 09:27
od Georgo
Tak by som si dovolil oživiť starú tému:
Tiež sa momentálne zaoberám úvahou o naprogramovaní chatu pre rovnaký serverový model, ako kedysi Dingo. I keď sa a priori nebránim 3rd party riešeniam, z hľadiska flexibility a dlhodobej perspektívy preferujem vlastné riešenie.

V zásade by ma zaujímalo, aké sú možnosti, resp. aké máte skúsenosti s cachovaním výstupu v PHP. Viem, že existuje APC, ale zatiaľ som to nevidel v praxi. Zaujímalo by ma, či je možné mať niečo ako jednu zdieľanú cache prístupnú pre všetk aktuálne prebiehajúe sessions. Neustále vyťahovanie dát z databázy je samozrejme totálna zhovadilosť a riešiť to cez cache súbor mi tiež nepríde ako najefektívnejšie. Ideálne by teda bolo, keby sa dalo definovať napr. jedno zdieľané pole, ktoré by v priebehu chatu prebývalo v pamäti a jednotlivé požiadavky klientov by len vracali obsah tohto poľa (resp. jeho najnovších elementov), prípadne by doň nové prvky vkladali. Z hľadiska optimalizácie stačí v pamäti držať posledných pár príspevkov a históriu priebežne zapisovať do jediného logu v txt alebo xml. Toto riešenie by zároveň prakticky eliminovalo nutnosť zaťažovať databázový server.
Samozrejme by prenos dát z webservera mal byť čo najmenší, takže refresh by bol umiestnený len v IFRAME, resp. v DIVe, riešený cez AJAX.

Je niečo podobné absolútna fikcia alebo sa to dá reálne dosiahnuť?

Odeslat příspěvekNapsal: 8. 6. 2007 10:06
od Vebloud
Nechci ti do toho kecat, ale tohle by stálo za novej thread o kašování výstupu PHP.

Zrovna se tím taky zabývám, ale asi to budu řešit souborem. Každou stránku, kterou vygeneruju, tak při prvním volání uložím do souboru a když mi na ní přijde požadavek, zjistím jestli už jsem použil a když ano, tak jenom přesměruju na hotový soubor.

Nicméně tohle je trošku jiná situace. V PHP se dost blbě řeší sdílená data mezi sessions. Osobně jsem to nikdy nedělal tak nevím, ale vzhledem k tomu, že je možné si udlěat vlastní session handler, tak si myslím, že by to teoreticky jít mohlo, ale konkrétně ti asi moc neporadím.

Odeslat příspěvekNapsal: 8. 6. 2007 19:06
od Georgo
Súhlasím, skúsme nový thread. Trochu som sa bál, že keby som založil nový a čo i len spomenul slovíčko chat, hneď by som dostal odpoveď s tým, že mám hľadať vo fóre, ako sa to občas deje. No ale skúsime.

Odeslat příspěvekNapsal: 8. 6. 2007 23:05
od gofry
No neviem, prístup k súboru na disku je podľa mňa oveľa náročnejší a trvá dlhšie než prístup do databáze. Databáza používa rôzne indexovacie techniky a cachovanie už má v sebe zabudované.