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
chat - metoda optima - tipic sau server?
Moderator: Moderatori
-
sergiu_802
- Average Member
- Mesaje: 120
- Membru din: Joi Mar 25, 2004 5:47 pm
-
dechim
- Senior Member
- Mesaje: 1486
- Membru din: Mar Mai 10, 2005 11:53 pm
- Localitate: Drobeta Turnu Severin
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.
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.
-
Pirahna
- Senior Member
- Mesaje: 5985
- Membru din: Dum Aug 22, 2004 2:04 am
- Localitate: la birou
- Contact:
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.
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.
Înapoi la “Librarii Javascript”
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 2 vizitatori