Salut!
Cum pot face eu(admin) ca atunci cand schimb ceva in baza de date(adaug ceva) ,pagina utilizatorului sa "observe k s-a schimbat ceva" si ca trebuie sa isi faca update(sa incarce din nou div-ul sau sa execute o functie)
-ma interesa cu ce limbaje si functii
-dar fara metode cu (userul apasa buton si incarca div)
-si nici cu setInterval() din secunda in secunda ,ca ma gandesc ca daca am 1000 de useri online si fiecare pagina sa stea sa deschida baza de date ........
Ex.
-pe pagina userului apare "Useri online=4"
-dupa cateva secunde se logheaza al 5-lea
-pe pagina userului sa apara "Useri online=5" fara a da refresh etc..
-se poate altfel?
AutoUpdate page - Ajutor
Moderator: Moderatori
Salut,
O solutie ar fi asa. Cand un utilizator intra online se face actualizarea celor care sunt online si se retin intr-un fisier text pe server (xml, json sau direct html).
In pagina html se citeste si afiseaza cu ajax la cateva secunde (20-30) direct datele din acel fisier text, astfel baza de date e accesata doar cand intra un nou utillizator.
O solutie ar fi asa. Cand un utilizator intra online se face actualizarea celor care sunt online si se retin intr-un fisier text pe server (xml, json sau direct html).
In pagina html se citeste si afiseaza cu ajax la cateva secunde (20-30) direct datele din acel fisier text, astfel baza de date e accesata doar cand intra un nou utillizator.
merci MarPlo,kiar de la tine invat acum ajax,js....
dar scuze k nu am explicat exact ce-mi trebuie mie:
kiar imi trebuie la secunda
-ma gandeam k e vreo functie prin vreun limbaj ca sa faca urmatoarele:
-eu ca admin adaug in baza de date un "text" si dupa care vad ce useri sunt online si sa dau comanda xxx spre paginile lor si acestea sa se updateze(nu refresh)
dar scuze k nu am explicat exact ce-mi trebuie mie:
kiar imi trebuie la secunda
-ma gandeam k e vreo functie prin vreun limbaj ca sa faca urmatoarele:
-eu ca admin adaug in baza de date un "text" si dupa care vad ce useri sunt online si sa dau comanda xxx spre paginile lor si acestea sa se updateze(nu refresh)
se poate face prin ajax.
iti faci un javascript care la X secunde incarca intr-o zona din site (un div sa zicem) continutul generat de un anumit fisier php.
textul pe care vrei sa-l afisezi utilizatorilor il introduci in baza de date.
fisierul php interogheaza baza de date, daca gaseste ceva ii face echo.
in momentul in care javascriptul incarca fisierul php, va afisa acel text utilizatorilor.
se poate face si fara a folosi baza de date. textul il vei pune direct in fisier.
iti faci un javascript care la X secunde incarca intr-o zona din site (un div sa zicem) continutul generat de un anumit fisier php.
textul pe care vrei sa-l afisezi utilizatorilor il introduci in baza de date.
fisierul php interogheaza baza de date, daca gaseste ceva ii face echo.
in momentul in care javascriptul incarca fisierul php, va afisa acel text utilizatorilor.
se poate face si fara a folosi baza de date. textul il vei pune direct in fisier.
pai da,dar
(1) daca am 1000 useri numai pe o pagina din 100pagini ale site-ului,
iar la fiecare secunda(ca asa imi trebuie) fiecare user "gadila" baza de date sa vada dak e ceva nou de afisat,ce mai face saracul server si netul?
-nici nu mai are timp sa mai raspunda la toti k deja se reia (1)
-ma gandeam la ceva de genul ca pagina userului sa aiba o "ceva" de genul=asteptare raspuns(cu noutati de la server)
-sau ceva de genul la messenger,sau mirc....(unul scrie ceva si imediat apare si la ceilalt ce a scris el)
(1) daca am 1000 useri numai pe o pagina din 100pagini ale site-ului,
iar la fiecare secunda(ca asa imi trebuie) fiecare user "gadila" baza de date sa vada dak e ceva nou de afisat,ce mai face saracul server si netul?
-nici nu mai are timp sa mai raspunda la toti k deja se reia (1)
-ma gandeam la ceva de genul ca pagina userului sa aiba o "ceva" de genul=asteptare raspuns(cu noutati de la server)
-sau ceva de genul la messenger,sau mirc....(unul scrie ceva si imediat apare si la ceilalt ce a scris el)
ok,dar e problema acum k din html+ajax tre sa te conectezi la server k fisierul e pe server.
-acum din cate stii tu, e vreo problema daca la cei 1000 de useri pun sa se conecteze la server(o singura data pe pagina sau doar cand se logheaza) si nu inchid conexiunea(k sa nu stea mereu sa se conn-deconn la secunda) si asa acceseaza doar fisierul sa vada dak s-a modif lungimea sau data?
-acum din cate stii tu, e vreo problema daca la cei 1000 de useri pun sa se conecteze la server(o singura data pe pagina sau doar cand se logheaza) si nu inchid conexiunea(k sa nu stea mereu sa se conn-deconn la secunda) si asa acceseaza doar fisierul sa vada dak s-a modif lungimea sau data?
Pe tine te intereseaza daca poti sa faci asta: http://en.wikipedia.org/wiki/HTTP_persistent_connection . Ideea e ca asa cum o sa citesti nu prea mai merita... eu am facut un chat in AJAX cu jQuery, PHP si un .txt in 20 de minute doar sa vad cum merge ( eram mai multi in birou si nu aveam ce face ) si cea mai buna metoda ar fi sa "intrebi" serverul data ultimei modificari in fisier si sa compari cu o variabila pe care o setezi in JS. Daca faci refresh la 2 secunde (si e suficient zic eu) ar fi bine sa nu faci conexiune persistenta, la 500ms in jos da. Oricum citeste documentatia.
Mai uite si aici ceva destul de concret si asta ar fi varianta "profi": http://www.devshed.com/c/a/PHP/Socket-P ... -With-PHP/ . E cam greu, in mare daca ai un server care redirectioneaza pe TCP poti sa faci direct conexiune intre useri, prin serverul tau. Iti permiti mai multe atunci, de ex. cum face facebook cand vede ca celalalt user tasteaza
Înapoi la “Librarii Javascript”
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 18 vizitatori