Kezdőoldal » Számítástechnika » Weblapkészítés » Chat oldal ablak auto frissíté...

Chat oldal ablak auto frissítés ha új adat érkezik?

Figyelt kérdés
Azt szeretném elérni hogy ha a másik fél ír akkor frissüljön a chat ablak. Minden működik localhoston de ezt még nem sikerült megcsinálnom hiába keresek rá már próbáltam egy-két módszert. Mint pl. a facebook chat küldője.
2013. júl. 25. 09:52
 1/4 anonim ***** válasza:
100%

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.

2013. júl. 25. 10:01
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
A javascript megoldás érdekelne. És köszönöm a gyors választ.
2013. júl. 25. 10:10
 3/4 anonim ***** válasza:

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:

[link]

2013. júl. 25. 10:23
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

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.

2013. júl. 25. 11:19
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!