บทที่ 11 HTML5 SSE
SSE ย่อมาจาก Server-Sent Events คือการส่งผ่านข้อมูลจาก sever ไปที่ client ต่างกันกับ WebSockets เป็นการส่งข้อมูลแบบสองทาง แต่ถ้าเราต้องการส่งข้อมูลทางเดียวจาก sever ไปที่ client (เช่น การแจ้งเตือนต่างๆ ของ Facebook/Twitter) เราสามารถใช้เทคโนโลยีอีกตัวชื่อ Server-sent Events (SSE) แทนได้
หลักการทำงานของ SSE คือเซิร์ฟเวอร์สามารถส่งข้อมูลไปยังไคลเอนต์ได้โดยตรง โดยที่ไคลเอนต์ไม่ต้องร้องขอก่อน ส่วนความแตกต่างของ SSE กับ WebSockets นอกจากจะเป็นเรื่องการส่งข้อมูลแบบทางเดียว/สองทางแล้ว ยังต่างกันที่ตัวโพรโตคอล เพราะ SSE จะรันอยู่บน HTTP ตามปกติ ทำให้สามารถใช้กับเซิร์ฟเวอร์ในปัจจุบันได้ทันที
บราวเซอร์ที่สนับสนุน HTML5 SSE คือ Mozilla Firefox, Google Chrome, Opera, Safari
ตัวอย่าง
<html>
<body>
<h1>Getting server updates</h1>
<div id="result"></div>
<script>
if(typeof(EventSource)!=="undefined")
{
var source=new EventSource("demo_sse.php");
source.onmessage=function(event)
{document.getElementById("result").innerHTML+=event.data + "<br>"; }; }else {document.getElementById("result").innerHTML="Sorry, your browser does not support server-sent events..."; }
</script>
</body>
</html>
ผลลัพธ์คือ
ข้อมูลอ้างอิง
http://www.w3schools.com