亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

HTML5ESS

événements HTML5 envoyés par le serveur

L'événement HTML5 envoyé par le serveur permet aux pages Web d'obtenir des mises à jour du serveur.


événement envoyé par le serveur - messagerie unidirectionnelle

L'événement Server-Sent fait référence à la page Web qui re?oit automatiquement les mises à jour du serveur.

Cela était également possible auparavant, si la page Web devait demander si une mise à jour était disponible. En envoyant des événements via le serveur, les mises à jour peuvent arriver automatiquement.

Exemples?: mises à jour Facebook/Twitter, mises à jour de valorisation, nouveaux articles de blog, résultats d'événements, etc.


Prise en charge du navigateur

7.jpg


Les événements envoyés par le serveur sont pris en charge par tous les principaux navigateurs, à l'exception d'Internet Explorer.


Recevoir une notification d'événement envoyée par le serveur

L'objet EventSource est utilisé pour recevoir une notification d'événement envoyée par le serveur?:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>php中文網(wǎng)(php.cn)</title>
</head>
<body>
<h1>獲取服務端更新數(shù)據(jù)</h1>
<div id="result"></div>
<script>
    if(typeof(EventSource)!=="undefined")
    {
        var source=new EventSource("demo_sse.php");
        source.onmessage=function(event)
        {
            document.getElementById("result").innerHTML+=event.data + "<br>";
        };
    }
    else
    {
        document.getElementById("result").innerHTML="抱歉,你的瀏覽器不支持 server-sent 事件...";
    }
</script>
</body>
</html>

Code demo_sse.php

<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
$time = date('r');
echo "data: The server time is: {$time}\n\n";
flush();
?>

Exécutez le programme et essayez-le

Exemple d'analyse?:

Créez un nouvel objet EventSource , puis précisez d'envoyer les mises à jour L'URL de la page ("demo_sse.php" dans cet exemple)

Chaque fois qu'une mise à jour est re?ue, l'événement onmessage se produira

Lorsque l'événement onmessage se produit, poussez les données re?ues dans l'élément avec l'identifiant "result"


Détecter la prise en charge de l'événement envoyé par le serveur

Dans le Dans l'exemple suivant, nous avons écrit un paragraphe supplémentaire Code pour détecter la prise en charge du navigateur pour les événements envoyés par le serveur?:

if(typeof(EventSource)!=="undefined")
{
// Prise en charge du navigateur Server-Sent
// Du code...
}
else
{
// Le navigateur ne prend pas en charge Server-Sent..
}


Exemple de code c?té serveur

Pour que l'exemple ci-dessus fonctionne, vous devrez également être capable pour envoyer des mises à jour de données aux serveurs (tels que PHP et ASP).

La syntaxe du streaming d'événements c?té serveur est très simple. Définissez l'en-tête "Content-Type" sur "text/event-stream". Vous pouvez maintenant commencer à envoyer le flux d'événements.

Exemple

<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
$time = date('r');
echo "data: The server time is: {$time}\n\n";
flush();
?>

Code ASP (VB) (demo_sse.asp) :

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

Explication du code?:

  • Définissez l'en-tête "Content-Type" sur "text/event-stream"

  • Spécifie que la page n'est pas mise en cache

  • Affiche la date d'envoi (en commen?ant toujours par "data: " )

  • Actualiser les données de sortie sur la page Web


Objet EventSource

Dans l'exemple ci-dessus, nous utilisons l'événement onmessage pour obtenir le message. Mais d'autres événements peuvent également être utilisés?:

     事件     描述
   onopen當通往服務器的連接被打開
   onmessage當接收到消息
   onerror當發(fā)生錯誤

événement

Description
onopenLorsque la connexion au serveur est ouverte
onmessageLorsqu'un message est re?u
erreurLorsqu'une erreur se produit
Formation continue
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <h1>獲取服務端更新數(shù)據(jù)</h1> <div id="result"></div> <script> if(typeof(EventSource)!=="undefined") { var source=new EventSource("demo_sse.php"); source.onmessage=function(event) { document.getElementById("result").innerHTML+=event.data + "<br>"; }; } else { document.getElementById("result").innerHTML="抱歉,你的瀏覽器不支持 server-sent 事件..."; } </script> </body> </html>
soumettreRéinitialiser le code