Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Javascript Chat sa AJAX-om

[es] :: Javascript i AJAX :: Javascript Chat sa AJAX-om

[ Pregleda: 2535 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Lord_Nenad
Lord_Nenad
Zvornik

Član broj: 143541
Poruke: 170
*.net.



+8 Profil

icon Javascript Chat sa AJAX-om08.12.2009. u 01:15 - pre 175 meseci
Da li neko zna zasto se posle nekog vremena iskljuci ova scripta:

Code:

function ajaxFunction(urlL)
{

var xmlHttp;
xmlHttp=new XMLHttpRequest();

xmlHttp.onreadystatechange=function()
    {
    if(xmlHttp.readyState==4)
      {
    setTimeout("sledeci('" + urlL + "')",2000);
      }
    }

  xmlHttp.open("GET",urlL,true);
  xmlHttp.send(null);


}

function sledeci(urlLx)
{
ajaxFunction(urlLx);
}


Naravno, ovo nije cela skripta, ali ovo je ono gde nastaje problem...
Chat radi neko vreme i onda jednostavno se prekine ovaj krug...

Zna li neko u cemu moze biti problem?

Da li neko ima bolji primer koji se moze koristiti za chat, neki sigurniji, bez prekida?
Interval se ne moze koristiti jer se moze desiti usporavanje mreze i onda nagomilavanje zahteva...
Tako da je jedini nacin da se pokrene tajmer nakon prijema podataka... Samo da ne dodje do ove greske... :/
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dial-up.dsl.siol.net.



+18 Profil

icon Re: Javascript Chat sa AJAX-om08.12.2009. u 14:14 - pre 175 meseci
Iz ovoga se ne moze nista vidjeti (bar ja ne mogu). Mozda negdje imas kakav clearTimeout? Najbolje bi bilo da postavis cijelu skriptu (samo JS bez PHP-a).
 
Odgovor na temu

Lord_Nenad
Lord_Nenad
Zvornik

Član broj: 143541
Poruke: 170
*.net.



+8 Profil

icon Re: Javascript Chat sa AJAX-om08.12.2009. u 16:06 - pre 175 meseci
Scripta je ogromna, ali ovaj deo je glavni... jer sve ispod ovog se svodi na to kako je pozvana scripta, gde se upisuje odgovor servera itd...
Ali u svakom slucaju mora da se pokrene ovaj timer, nema nikakvo IF koje ce kontrolisati da li ce se timer pokrenuti ili ne...
Nema nikakva greska, nista sto bi moglo prekinuti ovaj krug... Nema nigde clearTimeout.

Jedini problem moze biti sa ovim: "if(xmlHttp.readyState==4)"
Posto 4 je ako se dobije odgovor od servera... I problem nastaje ako ne dobije odgovor... Ako ga nesto prekine... Da li moze biti ovakva greska?
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dynamic.dsl.t-2.net.



+18 Profil

icon Re: Javascript Chat sa AJAX-om08.12.2009. u 16:50 - pre 175 meseci
Pa ne znam, moguce. Ne znam jel se prekine "timer" ako ne dobije odgovor. Progooglaj malo.

Mozes probati sa jQuery-jem to srediti ako ti se zuri, ako ne, onda je bolje da to sam sredis - nesto ces sigurno nauciti.
 
Odgovor na temu

Lord_Nenad
Lord_Nenad
Zvornik

Član broj: 143541
Poruke: 170
*.net.



+8 Profil

icon Re: Javascript Chat sa AJAX-om08.12.2009. u 17:30 - pre 175 meseci
Pa timer se prekine ako se ne pojavi xmlHttp.readyState kao 4... Mada... To valjda ne bi trebalo da se desi...
Treba uvek da prodje od 0 do 4 stepena... Ako ne bude odgovora od servera onda u 4om stepenu treba da bude "page timeout" odogovor...
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Javascript Chat sa AJAX-om08.12.2009. u 18:47 - pre 175 meseci
Ajde kad ti chat skripta prestane sa radom, ako koristiš Firefox, proveri u Tools -> Error Console, da li ti piše greška "Too much recursion" ili tako nešto. Čini mi se da je to problem. Ja mislim da bi trebao drugačije da rešiš tu logiku "beskonačnog" izvršavanja te skripte. Taj setTimeout bi trebao bi trebao da se pozove samo jednom, a ne rekurzivno.
 
Odgovor na temu

Lord_Nenad
Lord_Nenad
Zvornik

Član broj: 143541
Poruke: 170
*.net.



+8 Profil

icon Re: Javascript Chat sa AJAX-om08.12.2009. u 19:12 - pre 175 meseci
Gledam to stalno i nema nikakve greske... Na osnovu toga uglavnom sredjujem scriptu...

setTimeout se pozove jednom, i kad istekne taj period on salje zahtev da dobije poruke... I za par sekundi kad se dobije odgovor on ponovo pozove taj timer...
I sve tako...
Tako se odrzava savrsena kontrola zahteva i sprecava se njihovo naglomilavanje... ( Naravno da nema ovog iskakanja, sto pokusavam da popravim )...

setInterval je bolji za ponavljanje ovakvih funkcija, ali se ne moze da koristi jer se tako pozove vise istih zahteva i usto vreme i tako se pretrpaju...
 
Odgovor na temu

programer.master
krstarica
bg

Član broj: 235042
Poruke: 25
*.com
Via: [es] mailing liste



Profil

icon Re: Javascript Chat sa AJAX-om10.12.2009. u 14:21 - pre 174 meseci
Moze da se desi da ti server izblokira ili nestane paket koji je poslao itd
itd i onda naredba setTimeOut nece se vise nikad ponovo izvrsiti..
mozda se napuni heap zbog iznova i iznova pravljenje objekta pa probaj da
izbacis ove dve linije var xmlHttp;xmlHttp=new XMLHttpRequest(); iz funkcije
spolja
Ako proradi castis pivcem


> 2009/12/8 Lord_Nenad <[email protected]>
>
> Gledam to stalno i nema nikakve greske... Na osnovu toga uglavnom sredjujem
>> scriptu...
>>
>> setTimeout se pozove jednom, i kad istekne taj period on salje zahtev da
>> dobije poruke... I za par sekundi kad se dobije odgovor on ponovo pozove taj
>> timer...
>> I sve tako... Tako se odrzava savrsena kontrola zahteva i sprecava se
>> njihovo naglomilavanje... ( Naravno da nema ovog iskakanja, sto pokusavam da
>> popravim )...
>>
>> setInterval je bolji za ponavljanje ovakvih funkcija, ali se ne moze da
>> koristi jer se tako pozove vise istih zahteva i usto vreme i tako se
>> pretrpaju...
>>
>> --
>> http://www.elitesecurity.org/p2460604
>>
>>
>> Prijave/odjave: http://www.elitesecurity.org/liste
>>
>> Ne menjajte sledece dve linije ukoliko odgovarate putem emaila!
>> esauth:384085:9081cd1969abace460839ab0c918a104
>>
 
Odgovor na temu

Lord_Nenad
Lord_Nenad
Zvornik

Član broj: 143541
Poruke: 170
*.net.



+8 Profil

icon Re: Javascript Chat sa AJAX-om10.12.2009. u 15:40 - pre 174 meseci
Hmmm... Ukoliko se izgubi paket i server zablokira onda browser nece dobiti odgovor na taj request, ali ce se opet posle 30 sekundi ( ili koliko je podeseno ) pojaviti timeout, a to je isto neki odgovor, tj bice state 4... ali ce biti xmlHttp.status != 200... tj da stranica nije lepo otvorena...
Bar ja tako mislim, ispravite me ako gresim...

Ovo drugo... Valjda ako stavim jednu variablu preko druge, tj. dva puta definisem jednu i dodelim joj neku vrednost, valjda se ona prva gubi?
Ako izbacim te dve linije onda se nece moci pokrenuti drugi request dok je jedan vec pokrenut...

Ili je mozda u tome i problem, sto se vise puta radi request i ponekad u isto vreme se urade dva?
 
Odgovor na temu

mimce87
nezaposlena

Član broj: 169391
Poruke: 3
*.dynamic.isp.telekom.rs.



Profil

icon Re: Javascript Chat sa AJAX-om18.11.2010. u 18:59 - pre 163 meseci
kako Napraviti chat aplikaciju u kojoj će se komunikacija između korisnika odigravati 1:1 i kompletan sadržaj razgovora biće pamćen u bazi podataka. Korisnici moraju imati mogućnost ignore opcije koja će onemogućiti da im se određeni korisnik obraća. Takođe, aplikacija mora imati opciju prikaza lista svih korisnika iz koje je moguće odabrati sagovornika za chat.
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.static.stelkom.net.



+18 Profil

icon Re: Javascript Chat sa AJAX-om19.11.2010. u 07:29 - pre 163 meseci
Uzmes PHP/MySQL/Javascript i napises kod i eto aplikacije.

Mozes i recimo u Python/C++/Java uraditi, samo izaberi
 
Odgovor na temu

[es] :: Javascript i AJAX :: Javascript Chat sa AJAX-om

[ Pregleda: 2535 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.