DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > (X)HTML, JavaScript, DHTML, XML, CSS
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi

Odgovori
 
Alati teme Način prikaza
Staro 28. 04. 2011.   #1
Shelle
novi član
Na probnom radu
 
Datum učlanjenja: 15.01.2011
Poruke: 15
Hvala: 0
0 "Hvala" u 0 poruka
Shelle is on a distinguished road
Unhappy Automatsko osvezavanje

Pozdrav ljudi.
Nov sam ovde (tj nisam nov ali prvi put pišem ) jer sam skontao da ako ovde ne nađem odgovor verovatno neću nigde
Naime, zanima me sledeće:
Recimo da imamo Osobu A koja je za svojim računarom i Osobu B koja je za nekim udaljenim računarom. Oni istovremeno gledaju neki sadržaj na sajtu (koji je izvučen iz baze). Kako mogu da uradim da, kada se taj sadržaj izmeni na neki način (bilo administrator bilo neki drugi korisnik) da se automatski prikaže i Osobi A i Osobi B bez refreša??? (nešto kao npr neki komentar na FB, gde kada neko nešto iskomentariše automatski se prikaže svim korisnicima koji se nalaze na toj strani).
Ne tražim da mi neko uradi ili šta već, nego samo da mi objasni kako se to radi, jer moje znanje AJAX-a ne obuhvata taj slučaj

Imam još jedno pitanje ali neću sada smarati s tim, jer mi je ovo važnije i ako ovo ne odradim to drugo mi neće ni trebati
Shelle je offline   Odgovorite uz citat
Staro 28. 04. 2011.   #2
ajankovic
Aleksandar Janković
Qualified
 
Avatar ajankovic
 
Datum učlanjenja: 16.10.2010
Lokacija: Bg-Sd
Poruke: 165
Hvala: 70
54 "Hvala" u 36 poruka
ajankovic is on a distinguished road
Default

Postoje dva načina.

Prvi je da browseri obe osobe konstantno u pozadini preko AJAX poziva proveravaju u određenom intervalu da li je došlo do promene. Ukoliko je došlo do promene osveži se odgovarajući sadržaj.

Drugi način je daleko komplikovaniji jer podrazumeva tehnologiju koja bi trebalo da natera "internet" da radi ono za šta nije napravljen. Odnosno oba klijenta održavaju konekciju sa serverom, ne zatvaraju je a server ih obavesti preko otvorene konekcije kada dođe do promene. Ako te interesuje potraži COMET na googlu.
__________________
ajankovic.com]
ajankovic je offline   Odgovorite uz citat
"Hvala" ajankovic za poruku:
Staro 28. 04. 2011.   #3
tripatwhat
novi član
 
Datum učlanjenja: 22.03.2010
Poruke: 4
Hvala: 0
0 "Hvala" u 0 poruka
tripatwhat is on a distinguished road
Default

Pozdrav,

pa zavisi da li je taj sadrzaj na celoj strani ili samo u jednom delu strane.

Ako je cela strana onda mozes kroz metu da kazes toj strani da se refreshuje posle odredjenog vremena.

Ako je deo strane onda mozes kroz iframe da uvuces sadrzaj sa druge strane (na kojoj stavis ove podatke iz baze) i onda toj strani koju uvlacis kroz iframe kazes kroz metu da se refreshuje posle odredjenog vremena.

Evo koda za refresh strane kroz meta podatke posle 120 sekundi:
<meta http-equiv="refresh" content="120; url=index.php">
__________________
AdriaHost.rs - Pouzdan poslovni hosting za vas, redovan backup, customer friendly support, besplatna migracija sajtova, registracija domena i još puno toga...
tripatwhat je offline   Odgovorite uz citat
Staro 28. 04. 2011.   #4
Shelle
novi član
Na probnom radu
 
Datum učlanjenja: 15.01.2011
Poruke: 15
Hvala: 0
0 "Hvala" u 0 poruka
Shelle is on a distinguished road
Default

Hvala vam za odgovore.
Ne treba mi cela strana već samo neki delovi (ovako nešto http://www.nekajacu.com/list/live ). Ovde ima više ovih aukcija i svaka ima sopstveni brojač. Mene zanima kako mogu da uzmem vreme iz baze (za više aukcija) i onda da pomoću JS-a odbrojavam, i kada neko klikne da se automatski poveća vreme svim ljudima koji to gledaju.
Ja kapiram jedino ovaj način gde bi svaki korisnik, svake sekunde, proveravao bazu preko AJAX-a, ali sada mi se javio novi problem, kako pozivati AJAX svake sekunde i to za više aukcija istovremeno???
AJAX koji sam do sada radio se aktivirao preko nekog događaja (klik na link, na dugme, padajuća lista itd) ali ovo ne zahteva nikakvu akciju...
Ova fora sa refrešom preko meta taga može da odradi posao, ali mislim da postoji bolji način, jer on nije baš optimalan a i refrešuje celu stranu...
Shelle je offline   Odgovorite uz citat
Staro 28. 04. 2011.   #5
mileusna
Super Moderator
Knowledge base
 
Datum učlanjenja: 21.03.2006
Lokacija: Kragujevac
Poruke: 1.878
Hvala: 291
1.345 "Hvala" u 355 poruka
mileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobar
Default

Citat:
kako pozivati AJAX svake sekunde i to za više aukcija istovremeno??? Ja kapiram jedino ovaj način gde bi svaki korisnik, svake sekunde, proveravao bazu preko AJAX-a, ali sada mi se javio novi problem, AJAX koji sam do sada radio se aktivirao preko nekog događaja (klik na link, na dugme, padajuća lista itd) ali ovo ne zahteva nikakvu akciju...
Postoje tajmeri u JavaScriptu, ali pozivanje AJAXA svake sekunde je recept za katastrofu i potpuno je bespotrebno, osim ako ne radiš neku krajnje kritičnu aplikaciju za američku Vladu.

Za period od jedne sekunde ti nemaš garanciju ni da će prethodni http poziv biti odrađen i vratiti rezultate, a ti već šalješ novi http zahtev? To neće biti dobro ni za server a ni za klijent browser, zavisi naravno i od broja poseta i ukupnog broja upita. Dakle uzmi neki veći interval, 30 sekundi recimo.

Poslednja izmena od mileusna : 28. 04. 2011. u 23:22.
mileusna je offline   Odgovorite uz citat
Staro 28. 04. 2011.   #6
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default

Citat:
Originalno napisao mileusna Pogledajte poruku
Za period od jedne sekunde ti nemaš garanciju ni da će prethodni http poziv biti odrađen i vratiti rezultate, a ti već šalješ novi http zahtev?
Nije li logično da se sledeći timeout postavi tek u callbacku requesta? Tako garantuješ da se sledeći zahtev neće okinuti dok se prethodni ne odradi.

Plus je tu fazon sa dinamičkim prilagođavanjem tog intervala: kad duže nema saobraćaja, povećaš interval na (npr) 5 sekundi, a kad se kuca, smanjiš ga na (npr) pola sekunde...
__________________
blog
jablan je offline   Odgovorite uz citat
Staro 28. 04. 2011.   #7
mileusna
Super Moderator
Knowledge base
 
Datum učlanjenja: 21.03.2006
Lokacija: Kragujevac
Poruke: 1.878
Hvala: 291
1.345 "Hvala" u 355 poruka
mileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobar
Default

Citat:
Originalno napisao jablan Pogledajte poruku
Nije li logično da se sledeći timeout postavi tek u callbacku requesta? Tako garantuješ da se sledeći zahtev neće okinuti dok se prethodni ne odradi.

Plus je tu fazon sa dinamičkim prilagođavanjem tog intervala: kad duže nema saobraćaja, povećaš interval na (npr) 5 sekundi, a kad se kuca, smanjiš ga na (npr) pola sekunde...
Kako god to da uradi, preko intervala ili tajmera, sa 1 sekundom tajmauta će u svakom slučaju ubiti server ako server nije dobro konfigurisan.

Shelle za početak treba da shvati koncept, a posle ti možeš da mu pokazuješ finte i zalamanja.

Poslednja izmena od mileusna : 28. 04. 2011. u 23:31.
mileusna je offline   Odgovorite uz citat
Staro 28. 04. 2011.   #8
ajankovic
Aleksandar Janković
Qualified
 
Avatar ajankovic
 
Datum učlanjenja: 16.10.2010
Lokacija: Bg-Sd
Poruke: 165
Hvala: 70
54 "Hvala" u 36 poruka
ajankovic is on a distinguished road
Default

Potrebno ti je više znanja nego što trenutno poseduješ da bi ovo uspešno implementirao. Ali pokušaću da te navedem na pravi put.

"kako pozivati AJAX svake sekunde"

Da bi konstantno izvršavao određenu funkciju u browseru potrebna ti je setInterval() funkcija.

" i to za više aukcija istovremeno???"

Ovo pitanje pokazuje da nisi dobro razumeo sistem koji pokušavaš da implementiraš. Može se implementirati na više načina. Na primer najjednostavniji način ti je da svaka aukcija ima jedinstveni identifikator. Na serveru napraviš skriptu koja ispituje stanje akucije. Toj skripti prosledjujes identifikator aukcije a ona vraća informacije o toku aukcije.

Što se tiče sinhronizacije vremena sve mora da se odvija na serveru. Odnosno server sadrži svu logiku za upravljanje akcijama. Merenje i prikazivanje vremena u browseru služi samo kao referenca koja se osvežuje na osnovu informacija koje server pruža.
__________________
ajankovic.com]
ajankovic je offline   Odgovorite uz citat
Staro 28. 04. 2011.   #9
ajankovic
Aleksandar Janković
Qualified
 
Avatar ajankovic
 
Datum učlanjenja: 16.10.2010
Lokacija: Bg-Sd
Poruke: 165
Hvala: 70
54 "Hvala" u 36 poruka
ajankovic is on a distinguished road
Default

^ Čini mi se da bi Shelle prvo trebalo da savlada neke osnove pa tek onda da se bavi tim stvarima
__________________
ajankovic.com]
ajankovic je offline   Odgovorite uz citat
Staro 29. 04. 2011.   #10
Shelle
novi član
Na probnom radu
 
Datum učlanjenja: 15.01.2011
Poruke: 15
Hvala: 0
0 "Hvala" u 0 poruka
Shelle is on a distinguished road
Default

Citat:
Originalno napisao ajankovic Pogledajte poruku
^ Čini mi se da bi Shelle prvo trebalo da savlada neke osnove pa tek onda da se bavi tim stvarima
Osnove tipa...???
Shelle je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum


Vreme je GMT +2. Trenutno vreme je 18:01.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.