Pereiti prie turinio

Realtime (kas 10sek) informacijos atnaujinimas


Rekomenduojami pranešimai

Sveiki,

reikėtų pasidaryti realtime f-ją savo scripte, kad kairė pusė atsinaujintų kas 10sec, vidurys 30sec, dešinė - 10sec. Šiuose blokuose yra įvairi informacija, kuri imama iš duomenų bazės ir atvaizduojama webe. Duomenys keičiasi greičiau nei nurodyti laiko tarpai ir informacijos srautai nėra maži, tad kol įsivykdo vis ajax, būna, kad užsilagina visa svetainė. Koks būtų kitas būdas tai padaryt? Ačiū.

 

p.s. blokuose, kuriuos minėjau, informaciją reikėtų atnaujinti tik tam tikruose div'uose, ką su ajax ir jquery kuo puikiausiai esu padaręs, tačiau, kaip minėjau, jis gan dažnai užsilagina, tad reiktų arba kažkaip optimizuot, arba keist viską iš esmės, bet nežinau ko ieškot ir kaip pritaikyt...

 

p.p.s. dabar ajax, jquery naudoju taip:

setinterval(function(){/* my ajax request */ },10000);

Redagavo Donatis07
Nuoroda į pranešimą
Dalintis kituose puslapiuose

tad kol įsivykdo vis ajax, būna, kad užsilagina visa svetainė.

 

Trumpoji versija:

async: true

 

Ilgoji versija: tikriausiai kuriant AJAX requestą bus išjungta tai, kas duoda pirmąją A raidę AJAX pavadinime: asinchroniškumas. Tokiu atveju AJAX requestas blokuoja main thread'ą (kur vyksta svetainės piešimas, reagavimas į event'us, ...), kol įsivykdo, todėl ir užsilagina.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Trumpoji versija:

async: true

 

Ilgoji versija: tikriausiai kuriant AJAX requestą bus išjungta tai, kas duoda pirmąją A raidę AJAX pavadinime: asinchroniškumas. Tokiu atveju AJAX requestas blokuoja main thread'ą (kur vyksta svetainės piešimas, reagavimas į event'us, ...), kol įsivykdo, todėl ir užsilagina.

 

async: true

kaip ir default reikšmė.. :o

na pridėjau prie visų ajax requestų dabar tą async: true :) tikiuosi padės. ačiū už greitą atsakymą ir paaiškinimą ;) kas dar kažką patars? :blink:

Redagavo Donatis07
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Gal siūlyčiau naudot nodeJS tokiam dalykui (socket.io). Iš server-side paduodi duomenis pagal norimą intervalą.

 

Kodėl būtent nodeJS ir socket.io? Juk WebSockets galima implementuoti daugumoje programavimų kalbų. Pavyzdžiui PHP turi - Rachet biblioteką

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kur yra suformuojamas HTML? Server-side ar client-side?

html formatuojamas server-side.

 

Gal siūlyčiau naudot nodeJS tokiam dalykui (socket.io). Iš server-side paduodi duomenis pagal norimą intervalą.

Bandžiau šiek tiek gilintis, kaip tai veikia, bet sunku suprast.

 

 

Kodėl būtent nodeJS ir socket.io? Juk WebSockets galima implementuoti daugumoje programavimų kalbų. Pavyzdžiui PHP turi - Rachet biblioteką

naudoju PHP. Ratchet kažkaip nelabai suprantamas atrodo ;/

 

---

p.s. vienam projektui naudoju naudoju serveriai.lt planą svetainei (http://www.serveriai.lt/talpinimas.html), kitam - prohostingas.lt solo (http://pro.hostingas.lt/profesionalus.html)

tai neesu įsitikinęs, kad web socketai ir ect veiktų... neesu susidūręs kol kas su šiais velniais... :)

 

p.p.s. būtų didelis pliusas, jei jokios trečiosios šalys nematytų atliekamų veiksmų (grąžinamų html) [t.y žinotumėm tik team'as {ir tarkim socket.io}].

Redagavo Donatis07
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kodėl būtent nodeJS ir socket.io? Juk WebSockets galima implementuoti daugumoje programavimų kalbų. Pavyzdžiui PHP turi - Rachet biblioteką

 

Nežinau kaip Rachet, bet socket.io - tai daug daugiau, negu lib'as websocket'ams implementuoti. Ir išvis jis nebūtinai per websocket gali veikti, yra fallback'ai i long polling'ą ir kitus budus (pvz. tais atvejsia, kai naršyklė nepalaiko web socket'ų arba dėl kitų priežasčių). Ir tokiems realtime dalykams tikrai yra labai tikslinga naudoti technologijas, panašias į websocket'us, o ne ajax'ą.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...