HTML Server-Sent ইভেন্ট
- পূর্ববর্তী পৃষ্ঠা HTML5 ការងារតាមកុំព្យូទ័រ
- পরবর্তী পৃষ্ঠা HTML ឧទាហរណ៍
Server-Sent ইভেন্ট ওয়েবসাইটকে সার্ভার থেকে অপডেট পাওয়ার জন্য সমর্থন করে
Server-Sent ইভেন্ট - একদিকের মেসেজিং
Server-Sent ইভেন্ট এটি ওয়েবসাইট যেমনভাবে স্বয়ংক্রিয়ভাবে সার্ভার থেকে অপডেট পায়
এর আগেও এই কাজ করা যেত, কিন্তু ওয়েবসাইটকে নতুন অপডেট সম্ভব করতে হতো। Server-Sent ইভেন্টের মাধ্যমে, অপডেট স্বয়ংক্রিয়ভাবে পৌঁছবে
যেমন: Facebook/Twitter অপডেট, স্টক প্রদর্শন, নতুন পোস্ট, এবং খেলার ফলাফল, ইত্যাদি
ব্রাউজার সমর্থন
টেবিলের সংখ্যা পূর্ণাঙ্গ সমর্থন সার্ভার-সেন্ট ইভেন্টের প্রথম ব্রাউজারকে ইনদিক করে
API | |||||
SSE | 6.0 | সমর্থন নেই | 6.0 | 5.0 | 11.5 |
সার্ভার-সেন্ট ইভেন্ট নোটিফিকেশন গ্রহণ
EventSource ওবজেক্ট সার্ভার থেকে ইভেন্ট পাঠানো নোটিফিকেশন গ্রহণ করার জন্য ব্যবহৃত হয়:
ইনস্ট্যান্স
var source = new EventSource("demo_sse.php"); source.onmessage = function(event) { document.getElementById("result").innerHTML += event.data + "<br>"; };
উদাহরণ ব্যাখ্যা:
- নতুন EventSource ওবজেক্ট তৈরি করুন এবং অপডেট পাঠানো পেজের URL নির্দিষ্ট করুন (এই উদাহরণে "demo_sse.php")
- প্রত্যেকবার যখন একবার অপডেট প্রাপ্ত হয়, onmessage ইভেন্ট ঘটবে
- onmessage ইভেন্ট ঘটলে, প্রাপ্ত ডাটা id হল "result" এলিমেন্টে পাঠানো হবে
সার্ভার-সেন্ট ইভেন্ট সমর্থন পরীক্ষা
TIY ইনস্ট্যান্সে, আমরা একটি অতিরিক্ত কোড লিখেছি যাতে সার্ভার থেকে ইভেন্ট পাঠানোর ব্রাউজার সমর্থন পরীক্ষা করা যায়:
if(typeof(EventSource) !== "undefined") { // হ্যাঁ! সার্ভার থেকে ইভেন্ট পাঠানো সমর্থন আছে! // কিছু কোড..... } // ক্ষমা করুন! সার্ভার থেকে ইভেন্ট পাঠানো সমর্থন নেই! }
সার্ভার প্রদেশ কোড ইনস্ট্যান্স
আপনাকে উদাহরণটি চালাতে, আপনাকে সার্ভার থেকে ডাটা আপডেট পাঠাতে পারতে হবে (যেমন PHP বা ASP)।
সার্ভার পাশের ইভেন্ট স্ট্রিমের সিনটেক্স খুব সহজ।"Content-Type" হেডারকে "text/event-stream" নির্দিষ্ট করুন।এখন, আপনি ইভেন্ট স্ট্রিম পাঠাতে পারবেন।
PHP-এর কোড (demo_sse.php):
<?php header('Content-Type: text/event-stream'); header('Cache-Control: no-cache'); $time = date('r'); echo "data: The server time is: {$time}\n\n"; flush(); ?>
ASP-এর কোড (VB) (demo_sse.asp):
<% Response.ContentType = "text/event-stream" Response.Expires = -1 Response.Write("data: The server time is: " & now()) Response.Flush() %>
কোড ব্যাখ্যা:
- হেডার "Content-Type"-কে "text/event-stream" নির্দিষ্ট করুন
- পৃষ্ঠা ক্যাশ না করা
- পাঠাবার জন্য তারিখ নির্দিষ্ট করুন (সবসময় "data: "-এর সাথে শুরু করুন)
- ওয়েবপেজে পুনরায় ফ্রেশ করা
EventSource অবজেক্ট
উপরোক্ত উদাহরণে, আমরা onmessage ইভেন্ট ব্যবহার করে সংবাদ পাই।কিন্তু অন্যান্য ইভেন্টও ব্যবহার করা যেতে পারে:
ইভেন্ট | বিবরণ |
---|---|
onopen | যখন সার্ভারের সাথে সংযোগ খোলা হয় |
onmessage | যখন সংবাদ পাওয়া যায় |
onerror | যখন ত্রুটি ঘটে |
- পূর্ববর্তী পৃষ্ঠা HTML5 ការងារតាមកុំព្យូទ័រ
- পরবর্তী পৃষ্ঠা HTML ឧទាហរណ៍