Chat – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Chat – PHP – Fórum – Programujte.comChat – PHP – Fórum – Programujte.com

 

asija
~ Anonymní uživatel
5 příspěvků
26. 2. 2014   #1
-
0
-

Dobrý den, chtěl bych se zeptat, jestli je někde nějaký návod pro tvorbu chatu. Chat by měl být takový, že si může psát pouze jedna osoba s druhou osobou. Osoby budou mít jména a vše ostatní uložené v databázi. Našel jsem jen návody na jednu velkou chatovací místnost a to já nechci... Chci něco na způsob facebooku. Stačí nějaký malý návod. Pak se snad už chytnu :-D .  Předem děkuji za všechny reakce :-D

Nahlásit jako SPAM
IP: 217.196.113.–
peter
~ Anonymní uživatel
4016 příspěvků
26. 2. 2014   #2
-
0
-

To je uplne to same, jen do sql dotazu pridas omezujici podminku pro dane dve osoby. Googlem muzes hledat priklady na php messages, guestbook, chat. Pripadne muzes vyuzit primo fb api.

Nahlásit jako SPAM
IP: 2001:718:2601:400:0:5efe:...–
asija
~ Anonymní uživatel
5 příspěvků
26. 2. 2014   #3
-
0
-

No jako zatím to tak mám. Že z jedné databáze kde jsou všechny zprávy se načítají jen zprávy pro dané 2 ID... Ale není nějaký lepší způsob? Nebude tento po chvilce pomalý ? 

Nahlásit jako SPAM
IP: 217.196.113.–
Ericsko+3
Stálý člen
26. 2. 2014   #4
-
0
-

#3 asija
Ani tu si nepomozes bez javascriptu. Pokial chces aby to fungovalo ako na fb, musis dokonca zvladnut pokrocilejsie veci, napr. asynchronne requesty (AJAX).

Dokonca ak planujes vela sucasnych uzivatelov, ani php/mysql riesenie nemusi byt to prave.

Nahlásit jako SPAM
IP: 87.197.170.–
Mishsuli0
Newbie
22. 7. 2014   #5
-
0
-

#4 Ericsko
Dobrý deň,, 
zaujíma ma aké je najlepšie riešenie pre chat s viacerými užívateľmi,, zápis do DB alebo textového súboru?? alebo iný spôsob?? 
Poprosil by som rady pre chat ktorý ma spĺňať funkciu pre 100vky - 1000ky užívateľov,,, nie je podstatný počet len chcem vedieť čo je rýchlejšie, a používa sa pre chat....
Ďakujem za rady... 

Nahlásit jako SPAM
IP: 94.229.42.–
peter
~ Anonymní uživatel
4016 příspěvků
22. 7. 2014   #6
-
+1
-
Zajímavé

To mas tezky. Zalezi na tom, jake mas moznosti a prostredky. Pokud mas diskove pole nebo pamet, tak si muzes dovolit drzet db soubor v pameti. Db soubor je vzdycky soubor. Vyhledavani v souboru, kdyz to dela mysql, tak je to obvykle rychle. Ale muzes pouzit i php program SQL lite http://www.root.cz/…a-lehke-sql/ . Muzes pouzit system, ktery pouziva doku-wiki, ktere tez umi fungovat s i bez mysql.
Klasicka mysql klidne zvladne 1.000.000 radku, pokud mas spravne indexy. SQL lite bude samozrejme pomalejsi.

Pokud budes treba jednou za hodinu promazavat radky, tak se pri 1000 uzivatelich nejspis pres 10 mil nedostanes. Pripadne lze udelat dve-tri, kdy jednu promazes kazdych 20 min a z ostatnich dvou budes vyhledavat radky uzivatelu.
0-20: ukladas 1, hledas 1,3, smazes 2
20-40: ukladas 2, hledas 1,2, smazes 3
40-60: ukladas 3, hledas 2,3, smazes 1
Promazani cele tab bez podminek je rychlejsi. Vyhledavani radku v jedne nebo ve dvou tabulkach, na tom tolik nesejde. ale tim bych se vubec nezatezoval do te doby nez ti skutecne nebude stihat ta jedna tabulka.

Jak je to s tou pameti... Kdyz to das do pameti, tak obvykle db i soubor je stejne rychly. Zalezi pak uz na zpusobu vyhledavani. Pokud mas neco jako SQL lite, tak to si dela indexy jako mysql. Pokud nemas, tak si musis napsat program, ktery ti nad souborem udela indexy pro vyhledavani radku.

Nahlásit jako SPAM
IP: 2001:718:2601:258:fc19:70...–
Patrik Valkovič
~ Anonymní uživatel
1 příspěvek
23. 7. 2014   #7
-
+1
-
Zajímavé

Není důvod promazávat databázi. Pokud to uděláš chytře, budeš z databáze brát jen když se uživatel přihlásí a nebo když se bude chtít podívat do historie. To zas takové nároky nemá.

Mluvím o websocketech. V PHP se to řeší dost blbě, ale veškterou konverzaci mužeš udržovat jen u uživatelich a třeba do databáze budeš vkládat jednou za minutu. Tímto způsobem bude zatížení databází minimální. Celkové zatížení na serveru nebude moc velké, protože ten jen bude přeposílat sockety z jedné strany na druhou.

Ale jak říkám, v PHP se sockety implementují velmi těžko. Raději bych zvolil nějakou jinou technologii. Co jsem slyšel, tak v Node.JS to jde relativně snadno, ale nemám s tím vlastní zkušenosti.

Pokud by ses přece jen rozhodl pro PHP, tak mi mužeš popřípadě napsat. Jednou sjem něco takového taky zkoušel. Aspoň do základu bych možná dokázal poradit. patrik<zavinač>valkovic<tecka>cz

S pzodravem
Patrik Valkovič

Nahlásit jako SPAM
IP: 167.220.196.–
Mishsuli0
Newbie
23. 7. 2014   #8
-
0
-

#7 Patrik Valkovič
No máte pravdu, NodeJS je vynikajúca technológia, ale dôvod prečo chcem využiť PHP a bez websocketu je ten, že by som chcel aby to fungovalo na bežných platených webhostingoch.
S NodeJS experimentujem ale len na localhoste lebo slovenský a český NodeJS hosting som ešte nedávno nemohol nájsť. 
Teraz pozerám, že už je možné si zakúpiť lacný server na skúšanie, čiže neskôr sa začnem venovať aplikáciam cez Node ale teraz by som rád spravil php chat, čiže skúsim podľa tipov čo som dostal a uvidím či to bude mať zmysel :) 
Každopádne ďakujem za všetky rady,,, určite vyskúšam... :)

Nahlásit jako SPAM
IP: 94.229.42.–
peter
~ Anonymní uživatel
4016 příspěvků
24. 7. 2014   #9
-
+1
-
Zajímavé

* Taky se da setrit datovy tok pri pouziti zipu (na serveru nebo v php) nebo base64.
* Pak je dobre formatovat radky pro vystup presne tak, jak budou na obrazovce a tak ulozit do db. Pripadne zvolit nejaky miniformat (csv) a pak to formatovat pres js.
* Tez jsem experimentovl s tim, ze pro pasivni uzivatele navysuji postupne cas refresh az na 5-10 min, dokud neklikne na obrazovku (onfocus, onblur). (Coz treba ted mam pustenej chat, kde treba hodinu nemam cas cist, ale porad nejsem odhlasen a porad mi nacita nove radky. A tam by takova funkce usporila.)

Nahlásit jako SPAM
IP: 2001:718:2601:258:1022:48...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 43 hostů

Podobná vlákna

Chat — založil tayf

Chat — založil tayf

Chat — založil Zelenac14

Chat na webstranku — založil evryl

PHP Chat — založil Míra

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý