HTML سرور سمت واقعیتیں
- صفحه قبلی Web Workers HTML5
- صفحه بعدی مثالهای HTML
سرور سمت واقعیتیں، ویب پیج کو سرور سے اپدیت حاصل کرنے کی اجازت دیتا ہے.
سرور سمت واقعیتیں - ایک طرف کا پیغام بھیجنا
سرور سمت واقعیتیں، ویب پیج خودکار طور پر سرور سے اپدیت حاصل کرنے کا ذریعہ ہیں.
پہلے بھی اس کو کرسکتے تھے، شرط یہ تھی کہ ویب پیج کو اپدیت کی جائزگی سوال کی جانی تھی۔ سرور سمت واقعیتیں کی مدد سے، اپدیت خودکار طور پر پہنچ جاتی ہیں.
مثلاً فیسبوک / ٹوئیٹر اپدیت، اسٹاک قیمت کی اپدیت، نئی بلاگ پیپر، مسابقتی نتائج، وغیرہ
براوزر کی پشتیبندگی
جداول میں دیکھی جانے والی اعداد، پورا طور پر سرور سمت واقعیتیں کی پشتیبندگی کا پہلا براوزر کو دکھاتا ہے.
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") { // نک، سرور سمت واقعیتیں پشتیبند! // کچھ کد..... } // معذرت، سرور سمت واقعیتیں پشتیبند نہیں! }
سرور سمت کد مثال
کے لئے اس مثال کو چلنے کی خاطر آپ کو سرور کو دیتا اپدیت فراہم کرنے والا سرور (مثلاً پی ایچ پی یا اے ایس پی) پائیدار رکھنا چاہیے。
ساختار زبان رویدادهای سرور بسیار ساده است. عنوان سربرگ "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 | در صورت بروز خطا |
- صفحه قبلی Web Workers HTML5
- صفحه بعدی مثالهای HTML