Chat oldal ablak auto frissítés ha új adat érkezik?
Ugyan úgy kell csinálni mindent.
Alapvetően 2 féle technika van AJAX-al, az egyik amikor te javascriptből kéregeted le (pull) a változásokat x időnként, ez egyszerű, nem kell hozzá semmi extra, ugyanakkor van ott x időnyi késleltetés és nagyobb adatforgalmat generál.
A másik megoldás, amikor a szerver maga küld tájékoztatást arról, hogy ha változás történik (push).
Ezt jelentősen bonyolultabb megoldani, a szerver oldalon is kel hozzá pár dolog, de közel real-time idejű lesz és sokkal kisebb az adatforgalom.
Ezen kívül HTML5-ben már lehet a websocketekkel is próbálkozni, de ehhez is már szerver oldalon is kell pár extra, hogy a folyamatos socket kapcsolatot fenntartsa az ember.
A jsvascriptből is kapásból ugye 2 megoldásról írtam.
A Google innentől tovább tud segíteni, pl ilyesmi linkekkel:
Facebookon van saját szerver oldali emgoldás rá készítve.
Két megoldás van igazából amit egy átlagos szerveren tudsz használni, kicsit térnek el egymástól.
Az egyik, hogy a cset közben mondjuk 5 másodpercenként megkérdezed a szervert, hogy az utolsó lekérdezés óta mennyi üzenet érkezett, illetve ha emberünk ír valamit akkor a postoláskor ugye nem várod meg az 5 másodpercet hanem rögtön küldöd az üzenetét válaszban pedig megkapod, hogy mik érkeztek azóta.
A másik megoldás csökkentheti az 5 másodpercet, de növeli a szerveren a szálak számát. Ez szintúgy 5 másodpercenként kérdezi le ajax segítségével a szerverről a bejövő üzeneteket, azonban a szerver megnézi, hogy jött-e új üzenet, ha nem akkor sleep() -el 1 másodpercet, majd ismétli. Ha jött üzenet akkor visszaadja, ha nem akkor újabb 1 sec sleep. Ha a kliens megkapja a választ rögtön indít egy új kérést. Ezáltal ugye közelebb kerülsz a real time -hoz, hiszen maximum 2 másodpercen belül ott van nálad az üzenet viszont ez a szervert jobban terheli.
Igazából ezen a kettőn kívül megoldahtó még push -os megoldás is, ez viszont egy nem fog menni egy egyszerű webszerveren, ehhez már neked kell írni egy szerver (és kliens) alkalmazást is.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!