Maison > développement back-end > Tutoriel Python > Introduction à la programmation client WebSocket sous Tornado en Python

Introduction à la programmation client WebSocket sous Tornado en Python

不言
Libérer: 2018-10-20 15:40:01
avant
3455 Les gens l'ont consulté

Cet article vous présente une introduction à la programmation client WebSocket sous Tornado en Python. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Étant donné que WebSocket est l'un des standards HTML5, le JavaScript vocal de programmation du client Web des navigateurs grand public prend déjà en charge la programmation client WebSocket.

La programmation client s'articule autour de l'objet WebSocket. En JavaScript, vous pouvez initialiser l'objet WebSocket via le code suivant :

var Socket=new WebSocket(url);
Copier après la connexion

Dans le code, il vous suffit de transmettre l'adresse URL. du serveur au constructeur WebSocket. , tel que http://mysite.com/point.

Vous pouvez spécifier des fonctions de gestionnaire pour les événements suivants de cet objet pour y répondre :

  • WebSocket.onopen : cet événement se produit lorsqu'une connexion WebSocket est établie.

  • WebSocket.onmessage : Cet événement se produit lorsqu'un message du serveur est reçu.

  • WebSocket.onerror : Cet événement se produit lorsqu'il y a une erreur lors de la communication.

  • WebSocket.onclose : Cet événement se produit lorsque le lien du serveur est fermé.

En plus de ces fonctions de gestion d'événements, vous pouvez également effectuer des opérations actives via deux méthodes de l'objet WebSocket :

  • WebSocket.send( data) : envoyer un message au serveur.

  • WebSocket.close() : ferme activement les liens existants.

L'exemple de programme de programmation client WebSocket est le suivant : index.html

nbsp;html>


    <meta>
    <title>WebSocket</title>


<a>运行WebSocket</a>
<p></p>


<script>
    var messageContainer=document.getElementById("messages");
    function WebSocketTest() {
        if("WebSocket" in window){
            messageContainer.innerHTML="浏览器支持WebSocket";
            var ws=new WebSocket("ws://localhost:8888/websocket?Id=12345");
            ws.onopen=function () {
                ws.send("onopen")
            };
            ws.onmessage=function (evt) {
                var received_msg=evt.data;
                messageContainer.innerHTML=messageContainer.innerHTML+"<br/>收到的信息:"+received_msg;
            }
            ws.onclose=function () {
                messageContainer.innerHTML=messageContainer.innerHTML+"<br/> 连接关闭了";
            }


        }else{
            messageContainer.innerHTML="浏览器不支持WebSocket"
        }
    }
</script>
Copier après la connexion

Le code ci-dessus est analysé comme suit :

  • Le corps principal de la page client est composé de deux parties : un lien Exécuter WebSocket est utilisé pour permettre aux utilisateurs de démarrer WebSocket ; l'autre balise

    avec id=message est utilisée pour afficher les messages côté serveur.

  • Utilisez l'instruction JavaScript if("WebSocket" in window) pour déterminer si le navigateur actuel prend en charge l'objet WebSocket.

  • Si le navigateur prend en charge l'objet WebSocket, définissez l'instance ws pour qu'elle soit liée à l'adresse WebSocket du serveur et transmettez son propre paramètre d'identification. Définissez ensuite les événements via la syntaxe js : fonctions de traitement onopen, onmessage, onclose. À l'exception de l'événement onopen où le client envoie un message au serveur à l'aide de la fonction WebSocket.send(), les autres événements affichent uniquement les résultats de l'événement dans la balise

L'effet de l'opération est le suivant :

Introduction à la programmation client WebSocket sous Tornado en Python

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal