Das Server-Sektion-Ereignis ist eine unidirektionale Kommunikation, die Ereignisse und Daten vom WebSocket-Protokoll an den Client sendet. Gegenwärtig unterstützen alle Mainstream -Browser den Server, das Ereignisse sendet, mit Ausnahme des Internet Explorer natürlich. 2333 ...
Das WebSocket -Protokoll ist ein weiteres Server -Client -Kommunikationsprotokoll nach dem HTTP -Protokoll.
Die Verwendung von Server-Sense-EreignissenServer-Seent-Ereignisse (im Folgenden als SSE bezeichnet) als Server => Client-Kommunikationsmethode. !
Client JS -CodeDie H5 -Seite muss mit dem folgenden JS -Code hinzugefügt werden:
<Script> ifof (jeder)! eventSource.onopen = function () {console.log (Connect to Open ...);} // Wenn der Fehler auftritt, wenn die EreignisSource.onerror = Funktion (e) {console.log (e); Incident ist der Standard -Ereigniser -Ereignis. var data = eval ('+event.data+') '); Protokolle, Domainnamen und Ports, die die Quelle der Nachricht angeben. Ereignisse mit Ausnahme des Internet Explorer. document.getElementById (Ergebnis) .innerhtml = sorry, Ihr Browser unterstützt keine Server-Seent-Ereignisse ...;} </script> ServerWelches Datenformat sollte der Server zurückkehren? Welche Art von Antwort sollte dem Kunden gegeben werden? Lassen Sie uns zuerst ein .NET -Beispiel haben
/// <summary> /// push messus /// </summary> /// <return> </return> [httpget] public httPonsponsemessage sentnews () {httpresponsemessage response = req uest.creection (httpstatusCode.ok); Versuchen Sie {//response.headers.adds.adds.add_rcess-control-Allow-origin, *), wenn Sie den String Data_str = auf die Clientdaten konfigurieren müssen; String -Format -String sogar =, data =; / Connect Re -Connected -Zeit nach dem Öffnen (Millisekunden), in der Tat kann es als 2333 ... byte [] array = codieren ; ) {logHelper.writeWeblog (ex);} return response;}Nachdem Sie den obigen Code gelesen haben, sollten Sie eine ungefähre Art und Weise haben.
Der Inhalt des Antwortheaders sollte auf Text/Ereignisstream eingestellt werden
Das Datenformat der Antwort sollte auch festgestellt werden, dass die Daten:, Ereignis: und Wiederholung: Diese Markierungen im obigen Code: diese Beschriftungen:
1.Event: Dies bedeutet die Art des Ereignisses, die Art des Ereignisses zu deklarieren. Beim Empfangen der Daten erzeugt der Browser einen entsprechenden Ereignisentyp.
2. Daten: Dies bedeutet, dass die Zeile Daten enthält. Es kann zu Beginn von Daten viele Male erscheinen. Alle diese Zeilen sind Daten des Vorfalls.
3.Retry: Dies bedeutet, dass die Linie verwendet wird, um die Wartezeit zu deklarieren, bevor der Browser nach dem Trennen der Verbindung verbunden ist.
4.ID: Dies bedeutet, dass die zum Erkennungskennzeichen (dh die Anzahl der Daten) verwendete Linie, die nicht häufig verwendet wird.
Das obige ist die einfache Anwendung von Server-Sent-Ereignissen.