 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
sergiu_802
Data înscrierii: 25/Mar/2004
Mesaje: 100
|
| Trimis: Lun Iun 25, 2007 12:21 pm Titlul subiectului: chat - metoda optima - tipic sau server? |
|
|
ma intereseaza in mod special comunicarea intre 2 useri, dar si chat general
comunicarea dintre useri se face:
A. tipic
a. user1 -> ajax -> php -> db(write)
user2 -> ajax -> php -> db(read)
b. user2 -> ajax -> php -> db(write)
user1 -> ajax -> php -> db(read)
dezavantaje:
- un prieten care e admin de server ni-a spus ca as avea destule probleme cu host-ul deoarece la multi nu le convine sa le mananci mysql-ul cu atatea input/select -uri pe minut(~1 input + 1 select la 6-10 s)
avantaje:
- implementare usoara
B. server chat(server socket-uri php)
a. user1 -> ajax -> server(send)
user2 -> ajax -> server(recive)
b. user2 -> ajax -> server(send)
user1 -> ajax -> server(recive)
- cata memorie ar manca un astfel de server? (este un php care ruleaza neatrerupt si tine datele intern, ca variabile)
- este mai bine un server general sau cate un server pt. fiecare dicutie in parte? (un server general ar trebui sa ruleze tot timpul, un server individual ruleaza doar atata timp cat cei 2 comunica - cu un anume timeout dupa care.. do_some(); exit(); )
dezavantaje:
- implementare mai complexa !?
avantaje:
- nu se mai fac atatea input/select -uri in mysql
- mult mai scurt timpul de raspuns user1 -> user2 si viceversa (asa cred)
astept pareri pro si contra, solutii mai bune, mai optime, ... ce ar putea fi de folos |
|
| Sus |
|
mblaky
Data înscrierii: 11/Sep/2007
Mesaje: 137
|
| Trimis: Mar Oct 09, 2007 2:47 pm Titlul subiectului: |
|
|
| vreau si eu un exemplu simplu ajax+php+mysql intre 2 useri :) |
|
| Sus |
|
dechim
Data înscrierii: 10/Mai/2005
Mesaje: 490
Locație: Drobeta Turnu Severin
|
| Trimis: Mie Oct 17, 2007 11:14 pm Titlul subiectului: |
|
|
Se poate evita folosirea serverului MySQL retinand dialogul intr-un fisier text:
user1 -> ajax -> php -> writeFile // adauga mesajul user1 in fisier
user2 -> ajax -> php -> writeFile // adauga mesajul user2 in fisier
O functie javascript apelata prin setInterval() executa la fiecare user:
userX -> ajax -> php -> readFile
si pentru a nu citi ceea ce stie deja, retine pointerul din fisier pentru accesarea urmatoare.
Evident la intervale mari de timp sau la cerere fisierul se poate salva intr-o tabela MySQL. |
|
| Sus |
|
carco
Data înscrierii: 27/Mai/2004
Mesaje: 2796
Locație: Bucuresti
|
| Trimis: Joi Oct 18, 2007 6:57 am Titlul subiectului: |
|
|
| E posibil ca folosind un fisier text sa scada putin viteza. MySQL-ul nu o sa crape la 1000 query-uri/secunda (presupunand ca vor fi conectati 1000 de useri in acelasi timp). |
|
| Sus |
|
Pirahna
Data înscrierii: 22/Aug/2004
Mesaje: 4258
Locație: acasa , in pat
|
| Trimis: Joi Oct 18, 2007 9:10 am Titlul subiectului: |
|
|
Eu sugerez un server dedicat numai pentru chat (gen communication server de la adobe) + flash.
Uite eu m-am jucat cu http://www.smartfoxserver.com/ pentru conferinte video, multiplayer flash online games si evident chatting.
Cred ca e mult mai usor si mai bine decat cu un fisier pe care sa-l freci, si nu are nevoie de refresh. |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|