El evento de Servidor-Sección es una comunicación unidireccional que envía eventos y datos desde el protocolo WebSocket al cliente. En la actualidad, todos los navegadores convencionales admiten eventos de envío del servidor, por supuesto, a excepción del Internet Explorer. 2333 ...
El protocolo WebSocket es otro protocolo de comunicación del cliente del servidor después del protocolo HTTP.
El uso de eventos de sentido del servidorEventos de Servidor-Seent (en lo sucesivo, como SSE) como el método de comunicación del cliente de servidor => debe tener la dirección de servicio y el método de respuesta correspondiente, y el servidor debe tener el método de envío de datos correspondiente; !
Código JS del clienteSe debe agregar la página H5 con el siguiente código JS:
<Script> ifof (cada uno)! eventsource.Onopen = function () {console.log (conectarse para abrir ...);} // Cuando el error ocurre cuando el Eventsource.onerror = function (e) {console.log (e); El incidente es el evento predeterminado eventsource.onmessage = function (event) {console.log (onMessage ...); var data = eval ('+event.data+') '); Protocolos, nombres de dominio y puertos, lo que indica la fuente del mensaje. Eventos, excepto el Explorador de Internet. document.getElementById (resultado) .innerhtml = Lo siento, su navegador no admite eventos de servidor-seent ...;} </script>Servidor
¿Qué tipo de formato de datos debe volver el servidor? ¿Qué tipo de respuesta se debe dar al cliente? Primero tengamos una muestra de .NET
/// <summary> /// Push Messages /// </summary> /// <<churn> </return> [httpget] public httPesponseMessage SentNews () {httPresponseMessage Response = req Uest.createrSponse (httpStatuscode.ok); Pruebe {//Response.headers.adds.adds.add_rcess-control- eLlow-origin, *); String Format String =, data =; / Conecte el tiempo de re -control después de la apertura (milisegundos), de hecho, puede entenderse como un tiempo de rotación 2333 ... byte [] array = encoding.utf8.getbytes (incluso + data + reinty); (Matriz); Catch (excepción ex) {logHelper.writeWeblog (ex);} Respuesta de retorno;}
Después de leer el código anterior, creo que debe tener una forma aproximada.
El tipo de contenido del encabezado de respuesta debe establecerse en Text/Event-stream
El formato de datos de la respuesta también debe observarse que los datos:, Evento: y volver a intentar: Estas marcas en el código anterior: estas etiquetas:
1.Evento: significa el tipo de evento para declarar el tipo de evento. Al recibir los datos, el navegador producirá un tipo de evento correspondiente.
2. Datos: significa que la línea contiene datos. Puede aparecer muchas veces al comienzo de los datos. Todas estas líneas son datos del incidente.
3.pretry: significa que la línea se usa para declarar el tiempo de espera antes de que el navegador esté conectado después de desconectar la conexión.
4.id: significa que la línea utilizada para declarar el identificador (es decir, el número de datos), que no se usa comúnmente.
Lo anterior es la aplicación simple de los eventos de Servidor.