صفحه نخست » مقالات » برنامه نویسی » آموزش HTML » رویدادهای ارسالی توسط سرور

رویدادهای ارسالی توسط سرور

دسته بندی : آموزش HTML سطح مقاله : متوسط زمان مطالعه : 2 دقیقه 01 آذر 1399
رویدادهای ارسالی توسط سرور

HTML5 رویدادهای ارسال شده توسط سرور با مثال هایی توضیح می دهد.

رویدادهای ارسال شده توسط سرور (SSE) به یک صفحه وب امکان می دهد بدون نیاز به ارسال XMLHttpRequests ، جریان مداوم بروزرسانی را از سرور دریافت کند.

رویدادهای ارسالی توسط سرور چیست؟

برای اینکه اطلاعات وب سایت خود را به طور مداوم به روز کنید ، باید با وب سرور ارتباط برقرار کنید. یکی از راه های انجام این کار استفاده از XMLHttpRequests است – با این حال ، آن ها باید دوباره ارسال شوند تا برای هر بروزرسانی پاسخ دریافت کنند.

با استفاده از رویدادهای ارسال شده HTML5 ، می توانید ارتباطی ایجاد کنید که طولانی تر باشد و به روزرسانی ها را در یک جریان ثابت دریافت کند. فیدهای خبری ، شبکه های اجتماعی ، ورزش و به روزرسانی های آب و هوایی همه نمونه های خوبی هستند که می توانند از استفاده از رویدادهای ارسال شده توسط سرور HTML5 بهره مند شوند.

دریافت و ارسال SSE

برای دریافت به روزرسانی HTML5 ، باید از شی EventSource استفاده کنید:

<script>
 if(typeof(EventSource) !== "undefined") {
     var source = new EventSource("sse_demo.php");
     source.onmessage = function(event) {
         document.getElementById("myresult").innerHTML += event.data + "<br>";
     };
 } else {
     document.getElementById("myresult").innerHTML = "Sorry, server-sent events are not supported in your browser...";
 }
</script>

توجه: در پرانتز ، یک فایل PHP به نام sse_demo.php تعریف شده است. فایلی که به زبان برنامه نویسی پویا نوشته شده باشد برای ارسال به روزرسانی HTML5 به مرورگر ضروری است.

EventSource یک اتصال طولانی مدت را باز می کند که فقط در صورت تماس با EventSource.close () به پایان می رسد. این اتصال به مرورگر اجازه می دهد تا رویدادهای ارسالی توسط سرور HTML5 را از نوع رسانه متنی / رویدادی ارسال کند. با این حال ، این فقط یک طرفه است: مرورگر نمی تواند هیچ داده ای را به سرور ارسال کند.

اینها همه رویدادهای مربوط به شی EventSource هستند:

DescriptionEvent
اتصال به سرور فعال استopen
اتصال به سرور انجام نمی شودerror
پیامی جمع آوری می شودmessge

سمت سرور: مثال کد PHP

در صورت لزوم ، یک سرور می تواند به روزرسانی های HTML5 را از طریق ASP یا 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();
?>

توجه: فراموش نکنید که سربرگ Content-Type را روی متن / event-stream تنظیم کنید.

نکات مهم رویدادهای ارسالی توسط سرور

رویدادهای ارسالی سرور HTML5 کمی شبیه به WebSockets هستند. با این حال ، استفاده از WebSockets پیچیده تر است و به یک پروتکل منحصر به فرد نیاز دارد ، در حالی که SEE به HTTP متکی است.

اطمینان حاصل کنید که از کدگذاری نویسه UTF-8 برای جریان داده های متنی استفاده کنید.

اعلان های HTML5 برای به روزرسانی ها دقیقاً مانند هر درخواست HTTP هدایت می شوند.

پشتیبانی از مرورگر

از اکثر مرورگرها مانند: opera،safari،firefox،chrome پشتیبانی می کند.

دوره رایگان html را در دویکس دنبال کنید.

چه امتیازی به این مقاله می دید؟

5 / 0
[ 0 رای ]
مطالب مشابه

Related Posts