¿Qué son los eventos enviados por el servidor en HTML5?

Los eventos enviados por el servidor (SSE) son los eventos que se utilizan para actualizar el sitio web o las páginas web automáticamente. Las páginas web son actualizadas por el servidor sin ninguna aprobación por parte del usuario. Las actualizaciones de cualquier sitio web vienen a través de conexiones HTTP. Esta forma de comunicación de actualización de la página web por parte de un servidor al lado del cliente se conoce como mensajería unidireccional o monodireccional. Los eventos enviados por el servidor son parte de las API web.

En este artículo, conoceremos los eventos enviados por el servidor, cómo funcionan y ejemplos que usan HTML5. 

Verifique el soporte del navegador para SSE: antes de implementar el SSE, es necesario verificar el soporte del navegador. Para verificar el soporte, usaremos una declaración if y else y ejecutaremos el siguiente código usando el objeto EventSource. El objeto EventSource se utiliza para recibir los eventos o notificaciones del servidor. A continuación se muestra la sintaxis del objeto.

Sintaxis:

if(typeof(EventSource) !== "undefined") {
    var source = new EventSource("gfg-file.php");
    source.onmessage = function(event) {
        document.getElementById("yourResult")
            .innerHTML += event.data + "<br>";
    }
}

Ahora que conocemos el objeto EventSource, es hora de comprobar la compatibilidad del navegador con SSE. Use una etiqueta <script> de javascript para ejecutar el código de verificación del soporte del navegador.

Ejemplo:

HTML

<!DOCTYPE html>
<html>
  
<body>
    <h1>GeeksforGeeks</h1>
    <div id="gfg"></div>
    <script type="text/javascript">
        if (typeof EventSource !== "undefined") {
            alert("Congrats Geek! The browser is supporting SSE.");
        } else {
            alert("Sorry Geek! The browser is not supporting SSE.");
        }
    </script>
</body>
  
</html>

Ahora, una vez que se ejecuta la instrucción if , si el navegador muestra el objeto EventSource, el usuario verá el siguiente resultado y, de lo contrario, mostrará otra parte de la instrucción.

Producción:

Envío automático de eventos desde el servidor: ahora, para enviar la notificación o los eventos desde el servidor, se necesita un servidor que sea capaz de enviar los eventos a los clientes. Para la demostración, crearemos un archivo ASP para tal fin. A continuación se muestra el archivo ASP para el ejemplo:

// gfg_demo.asp

// code starts from here
<%
Response.ContentType = "text/event-stream"
Response.Expires = -1
Response.Write("data: Current Server time: " & now())
Response.Flush()
%>

En el código ASP anterior, según el estándar SSE, la respuesta de ContentType se establece en «text/event-stream» y la salida de datos se enviará comenzando siempre con datos. El método de respuesta Flush() enviará el evento de datos a la página web del usuario.

Ejemplo:

HTML

<!DOCTYPE html>
<html>
  
<body>
    <h2>GFG getting Server-Sent Events </h2>
    <div id="output"></div>
  
    <script>
  
        // Started if statement
        if (typeof EventSource !== "undefined") {
  
            // Created event source
            var gfgSource = new EventSource("gfg_demo.asp");
            gfgSource.onmessage = function (event) {
  
                // Output is shown here
                document.getElementById("output")
                    .innerHTML += event.data + "<br>";
            };
        } else {
            document.getElementById("result").innerHTML =
  
                // If browser does not support SSE
                "Sorry Geek, The browser does not support SSE";
        }
    </script>
</body>
  
</html>

Producción

Publicación traducida automáticamente

Artículo escrito por tarunsinghwap7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *