Weboldalunkon előfordulhat hogy valós időben, vagy legalábbis kis időeltéréssel szeretnénk értesítéseket küldeni a felhasználónak. Ilyen lehet egy chat-rendszer, de egyszerűbb esetekben is szükség lehet ezekre. Az értesítés megjelenítése valamilyen formában nem túl bonyolult, de a szerverről az értesítések eljuttatása a felhasználóhoz bonyolultabb lehet, így több megoldás közül válogathatunk:
Ajax
Ilyenkor egy szabványos HTTP lekérés megy végbe, de a háttérben. Ennek megfelelően a kliens küld lekérést a szerver felé, ami válaszol arra.
Valós idejű értesítések esetén viszont nem a legjobb ez a megoldás: Ha túl sok lekérést küldünk a szerver felé, akkor leterheljük azt, ha viszont ritkán kérjük le az értesítéseket, akkor egyáltalán nem lesz valós idejű.
Long-polling
Szinte teljesen ugyanaz mint az Ajax lekérés, annyi különbséggel, hogy a szerver nem válaszol azonnal a lekérésre, csak amikor van új értesítés. Hátránya, hogy a kapcsolat egy idő után megszakad, ilyenkor a kliensnek újabb lekérést kell megnyitnia.
Server Sent Events
Az előzőekkel ellentétben itt már a kapcsolat megnyitása után a szerver tud közvetlenül a kliensel kommunikálni, viszont a kliens nem tud a szerverrel kapcsolatba lépni. Viszont ajax-al együtt használva már egy jó valós idejű értesítési rendszert készíthetünk. Hátránya, hogy a Microsoft böngészőprogramja még nem támogatja.
Websocket
A kapcsolat megnyitása után egy kétirányú csatornát kapunk, mind a szerver, mind a kliens tud valós időben üzeneteket küldeni. Ráadásul minden modern, népszerű böngészőn működő technikáról van szó.
Valós idejű értesítésekhez szerver oldalon érdemes eseményvezérelt program írására alkalmas nyelvet választani, mint amilyen a Node.js. Természetesen ez nem jelenti azt hogy ha a weboldalunk másmilyen nyelvben van megírva, akkor az egészet kezdhetjük elölről: Beállíthatunk csak az értesítések kezelésére szolgáló szervert, ami a fő szerverrel kapcsolatban áll. Így viszonylag kis munkával egy jól működő rendszert kaphatunk eredményül.
Kliens oldalon az értesítés megjelenítésére nem csak a weboldalon belül van lehetőségünk, hanem megjeleníthetjük azt a fejléc címében, használhatunk hangértesítést vagy asztali értesítést is. Első kettő nagyon egyszerűen elvégezhető:
document.title = 'Új értesítés';
var audio = new Audio('audio.mp3');
audio.play();
Asztali értesítés megjelenítése sem sokkal bonyolultabb:
Hozzászólások
-