L'événement de section serveur est une communication unidirectionnelle qui envoie des événements et des données du protocole WebSocket au client. À l'heure actuelle, tous les navigateurs grand public prennent en charge le serveur d'envoi, bien sûr, à l'exception de l'Explorateur Internet. 2333 ...
Le protocole WebSocket est un autre protocole de communication client du serveur après le protocole HTTP.
L'utilisation d'événements de sens du serveurLes événements de serveur (ci -fitrent ci-dessous SSE) en tant que serveur => Méthode de communication du client. !
Code JS clientLa page H5 doit être ajoutée avec le code JS suivant:
<fraction> ifof (chaque)! eventsource.onopen = function () {console.log (connecter à l'ouverture ...);} // lorsque l'erreur se produit lorsque les événementsource.onerror = fonction (e) {console.log (e); L'incident est l'événement par défaut Eventsource.OnMessage = fonction (événement) {console.log (onMessage ...); var data = eval ('+ event.data +') '); protocoles, noms de domaine et ports, indiquant la source du message. Événements, à l'exception de l'Internet Explorer. document.getElementById (résultat) .InnerHtml = désolé, votre navigateur ne prend pas en charge les événements de serveur ...;} </cript>Serveur
Quel type de format de données le serveur doit-il retourner? Quel type de réponse doit être donné au client? Ayons d'abord un échantillon .NET
/// <summary> /// push messages /// </ sommary> /// <feepweet> </ return> [httpget] public httpResponseMessage SentNews () {httpResponseMessage Response = req uest.creareponse (httpStaturScode.ok); Essayez {//response.heders.adds.adds.add_rCess-Control-Allow-Origin, *); String Format String Même =, Data =; / Connect Re -Conned Time après ouverture (millisecondes), en fait, il peut être compris comme un temps de rotation 2333 ... BYTE [] Array = Encoding.Utf8.getBytes (même + Data + Retchy); (Array); Response .Content = New StreamContent (Stream_Result); Catch (Exception ex) {Loghelper.WriteWlog (ex);} Retour Response;}
Après avoir lu le code ci-dessus, je pense que vous devriez avoir un moyen approximatif.
Le type de contenu de l'en-tête de réponse doit être défini sur Text / Event-Stream
Le format de données de la réponse doit également être remarqué que l'événement Data:, et réessayez: ces marques dans le code ci-dessus: ces étiquettes:
1.Event: Cela signifie le type de l'événement pour déclarer le type d'événement. Lors de la réception des données, le navigateur produira un type d'événement correspondant.
2. Données: Cela signifie que la ligne contient des données. Il peut apparaître plusieurs fois au début des données. Toutes ces lignes sont des données de l'incident.
3.Retry: Cela signifie que la ligne est utilisée pour déclarer le temps d'attente avant que le navigateur ne soit connecté après la déconnexion de la connexion.
4.ID: Cela signifie que la ligne utilisée pour déclarer l'identifiant (c'est-à-dire le nombre de données), qui n'est pas couramment utilisé.
Ce qui précède est la simple application des événements de serveur.