HTML SSE API
Server-Sent Events (SSE) veb sahifaga serverdan yangilanishlarni olish imkonini beradi.
HTML SSE API
Server-Sent Events (SSE) veb sahifaga serverdan yangilanishlarni olish imkonini beradi.
Server-Sent Events - Bir Yo'nalishdagi Xabarlar
Server-sent event (SSE) - bu veb sahifaga avtomatik ravishda yangilanishlarni serverdan olish imkoniyatidir.
Bu ilgari ham mumkin edi, ammo veb sahifa yangilanishlar mavjudligini so'rashi kerak edi. Server-sent events bilan yangilanishlar avtomatik ravishda keladi.
Misollar: Facebook/Twitter yangilanishlari, aksiyalar narxlaridagi o'zgarishlar, yangiliklar lentalari, sport natijalari va hokazo.
Brauzer Qo'llab-quvvatlash
Jadvaldagi raqamlar server-sent events'ni to'liq qo'llab-quvvatlaydigan birinchi brauzer versiyasini ko'rsatadi.
API | Internet Explorer | Firefox | Safari | Chrome | Opera |
---|---|---|---|---|---|
SSE | 6.0 | 79.0 | 6.0 | 5.0 | 11.5 |
Server-Sent Event Xabarlari Qabul Qilish
EventSource
ob'ekti server-sent event xabarlarini qabul qilish uchun ishlatiladi:
Misol
Misolning izohi:
- Yangi
EventSource
ob'ektini yarating va yangilanishlarni yuboradigan sahifa URL manzilini ko'rsating (bu misolda "demo_sse.php"). - Har safar yangilanish olinganda
onmessage
hodisasi yuzaga keladi. onmessage
hodisasi yuzaga kelganda, olingan ma'lumotlarniid="result"
bo'lgan elementga joylashtiring.
Server-Sent Events Qo'llab-quvvatlashni Tekshirish
Yuqoridagi misolda server-sent events'ni qo'llab-quvvatlashni tekshirish uchun ba'zi qo'shimcha kod satrlari mavjud edi:
Server-Tomondagi Kod Misoli
Yuqoridagi misol ishlashi uchun ma'lumot yangilanishlarini yubora oladigan server (masalan, PHP yoki ASP) kerak.
Server tomondagi event stream sintaksisi juda oddiy. "Content-Type" sarlavhasini "text/event-stream" ga o'rnating. Endi siz event streamlarni yuborishni boshlashingiz mumkin.
PHP kodidagi misol (demo_sse.php
):
ASP (VB) kodidagi misol (demo_sse.asp
):
Kodning izohi:
- "Content-Type" sarlavhasini "text/event-stream" ga o'rnating.
- Sahifa kesh qilinmasligi kerakligini ko'rsating.
- Yuboriladigan ma'lumotni chiqaring (har doim "data: " bilan boshlang).
- Ma'lumotlarni veb sahifaga qaytaring.
EventSource Ob'ekti
Yuqoridagi misollarda xabarlarni olish uchun onmessage
hodisasidan foydalanildi. Ammo boshqa hodisalar ham mavjud:
Hodisa | Tavsif |
---|---|
onopen | Server bilan ulanish ochilganda |
onmessage | Xabar qabul qilinganda |
onerror | Xato yuz berganda |