HTML5 Server-sent events in Hindi ( SSE API )

आज के इस HTML Tutorial in Hindi में हम जानेंगे की Server-sent events क्या है |

Server-sent events kya hai ( What is Server-Sent Event? )

HTML5 server-sent events web pages के लिए server से communicate करने का एक नया तरीका है | यह XMLHttpRequest object के साथ भी संभव है जो आपके javascript code को web server से अनुरोध ( request ) करने देता है , लेकिन यह one-for-one-exchange है – इसका मतलब है की एक बार जब web server अपनी प्रतिक्रिया ( response ) प्रदान करता है , तो communitation समाप्त हो जाता है |

XMLHttpRequest object सभी Ajax operations ( संचालन ) का मूल है |

हालांकि, ऐसी कुछ स्थितियां है जहा web pages को web server से long-term connection की आवश्यकता होती है |

जैसे की आपको एक उदहारण दू तो finance websites पर stock quotes की कीमत अपने आप update हो जाती है | अन्य एक उदहारण , विभिन्न media websites पर चने वाले news ticker है |

आप HTML server-sent event के साथ ऐसी चीजें बना सकते है | यह web page को web server से open connection hold करने की अनुमति देता है , ताकि web server किसी भी समय automatically new response को भेज सके |

इसमें आपको बार-बार same script को चलाने और server को reconnect करने की आवश्यकता नहीं होती है |

Note :- Server-sent Events ( SSE API ) unidirectional है , इसका मतलब है की data server से client तक एक ही दिशा में deliver किया तजा है | यहाँ client आमतौर पर web browser है |

Server script ke saath message send karna

चलिए एक server-time.php नाम की file बनाये और उसमे निम्न script type करे | यह script web server की build-in clock के मुताबिक वर्तमान समय की report देगा |

<?php
header("Content-Type: text/event-stream");
header("Cache-Control: no-cache");
 
// Get the current time on server
$currentTime = date("h:i:s", time());
 
// Send it in a message
echo "data: " . $currentTime . "\n\n";
flush();
?>

PHP की पहली दो line important header को set करती है | सबसे पहले , यह text/event-stream के जरिये MIME Type को set करता है , जो server-side event standard के लिए आवश्यक है | दूसरी लाइन के जरिये web server को caching बंद करने के लिए कहा गया है अन्यथा आपकी script का output cache किया जा सकता है |

HTML5 server-sent event के माध्यम से भेजे जाने वाले प्रत्येक message text data से start होने चाहिए : इसके बाद actual message और new line character ( \n \n ) आता है |

और अंत में, हमने PHP flush (); function का उपयोग किया है – यह सुनिश्चित करने के लिए की data तुरंत भेजा जाता है , बजाय इसके की PHP code पूरा होने तक buffer किया जाये |

Web page me messages processing karna

EventSource object का उपयोग server-sent event message को प्राप्त करने के लिए किया जाता है |

अब आप एक demo-sse.html नाम का HTML document बनाये और इसे उसी project directory में रखे जहा server-time.php file रखी गयी है |

यह HTML Document simply web server द्वारा current time report को received करेगा और user को display करेगा |

<!DOCTYPE html>
<html lang="en">
<head>
<title>Server-Sent Events Example</title>
<script>
    window.onload = function() {
        var a = new EventSource("server_time.php");
        a.onmessage = function(event) {
            document.getElementById("result").innerHTML += "Current time received from web server: " + event.data + "<br>";
        };
    };
</script>
</head>
<body>
    <div id="result">
        <!--Server response will be inserted here-->
    </div>
</body>
</html>

यह भी पढ़े :-