Latest web development tutorials

Eventos enviados por el servidor (HTML5 Eventos enviados por el servidor)

HTML5 servidor envía eventos (eventos enviados por el servidor) permite que las páginas web para obtener actualizaciones del servidor.


Eventos enviados por el servidor de mensajería de forma -

evento enviado por el servidor es el sitio web de obtener automáticamente las actualizaciones desde el servidor.

Anteriormente también puede hacerlo, siempre y cuando la página tuvo que preguntar si hay una actualización disponible. El servidor envía el evento, la actualización llegará automáticamente.

Ejemplos: las actualizaciones de Facebook / Twitter, actualizaciones de valoración, nuevo blog, resultados del torneo y así sucesivamente.


Soporte para el navegador

Internet ExplorerFirefoxOperaGoogle ChromeSafari

Todos los principales navegadores son compatibles con el servidor envía el evento, además de Internet Explorer.


Recibir notificación de eventos enviados por el servidor

EventSource objeto se utiliza para recibir notificaciones de eventos enviados por el servidor:

Ejemplos

var source=new EventSource("demo_sse.php");
source.onmessage=function(event)
{
    document.getElementById("result").innerHTML+=event.data + "<br>";
};

Trate »

ejemplos de análisis:

  • EventSource crear un nuevo objeto, y luego enviar la URL regulaciones de actualización de la página (en este caso, "demo_sse.php")
  • Cada uno recibe una actualización, se produce un evento onmessage
  • Cuando se produce el evento onmessage, los datos recibidos se introduce en el elemento id "resultado" en

Detección de Eventos enviados por el servidor Soporte

Los siguientes ejemplos, que escribir código adicional para detectar el navegador al servidor para enviar eventos con el apoyo de:

si (typeof (EventSource)! == "indefinido")
{
// Browser soporta Servidor-Sent
//Parte del código .....
}
otro
{
// Navegador no soporta enviados por el servidor ..
}


Los ejemplos de código del lado del servidor

Para que el ejemplo anterior, puede ejecutar, también tiene que ser capaz de enviar datos para actualizar el servidor (como PHP y ASP).

flujo de eventos del lado del servidor sintaxis es muy simple. El "Content-Type" de cabecera está ajustado a "text / evento de flujo". Ahora puede empezar a enviar el flujo del evento.

Ejemplos

<? Php
header ( 'Content-Type: text / evento de flujo');
cabecera ( "Cache-Control: no -cache ');

$ Tiempo = date ( "r" );
eco "de datos: La hora del servidor es : {} $ de tiempo \ n \ n";
flush ();
?>

código ASP (VB) (demo_sse.asp):

<%
Response.ContentType="text/event-stream"
Response.Expires=-1
Response.Write("data: " & now())
Response.Flush()
%>

Código explicación:

  • El encabezado "Content-Type" está ajustado a "text / evento de flujo"
  • Disposición no páginas de caché
  • Fecha de transmisión de salida (siempre "data:" al principio)
  • Actualizar la página de datos de salida

objetos Eventsource

En el ejemplo anterior, se utilizó para obtener el mensaje de evento onmessage. Sin embargo, también se pueden utilizar otros eventos:

事件 描述
onopen 当通往服务器的连接被打开
onmessage 当接收到消息
onerror 当发生错误