HTML Server-Sent Events API
Server-Sent Events (SSE) یا رویدادهای ارسالشده از سرور را مشاهده میکنید:
✅ ویژگیهای اصلی SSE (رویدادهای ارسالشده از سرور):
-
یکطرفه: فقط از سمت سرور به سمت کلاینت (مرورگر) داده ارسال میشود.
-
بر پایه HTTP: بدون نیاز به پروتکلهای پیچیده مثل WebSocket.
-
اتصال خودکار مجدد: اگر اتصال قطع شود، مرورگر به صورت خودکار تلاش میکند دوباره وصل شود.
-
پشتیبانی در مرورگرها: بیشتر مرورگرهای مدرن مثل Chrome، Firefox، Safari و Edge از آن پشتیبانی میکنند (اما IE پشتیبانی نمیکند).
📦 استفاده ساده
۱. سمت کلاینت (HTML + JavaScript):
۲. سمت سرور (مثال با Node.js و Express):
📄 فرمت پیام در SSE
پیامهایی که سرور ارسال میکند باید این ساختار را داشته باشند:
data: پیام شما
میتوان پیامها را با بخشهای زیر تکمیل کرد:
id: 123
event: customEvent
data: یک متن
🔁 اتصال مجدد خودکار
-
مرورگر به صورت پیشفرض در صورت قطع اتصال، دوباره وصل میشود.
-
میتوانید زمان تلاش مجدد را تنظیم کنید:
retry: 10000 // تلاش مجدد پس از ۱۰ ثانیه
📋 مزایا و معایب
مزایا:
-
پیادهسازی ساده
-
سبک و کمحجم
-
نیازمند پروتکل خاصی نیست، روی HTTP اجرا میشود
معایب:
-
فقط یکطرفه است (از سرور به کلاینت)
-
در مرورگر Internet Explorer پشتیبانی نمیشود
-
فقط برای دادههای متنی مناسب است (نه فایل یا باینری)
دیدگاهتان را بنویسید