Version

Introduction

Installation

Limitations du protocole "file"

Questions fréquemment posées

Syntaxe, mots-clés et fonctions intégrées

Distribution standard

Implémentation de import

Packages Brython

Interface avec le navigateur

Introduction - API DOM
Créer un document
Accéder aux éléments
Attributs, propriétés et méthodes

Evénements
Evénements souris
Evénements clavier
Evénements focus
Evénements pour glisser-déposer

Chaine de requête

Interactions avec Javascript

Modules intégrés propres à Brython

browser
browser.aio
browser.ajax
browser.html
browser.local_storage
browser.markdown
browser.object_storage
browser.session_storage
browser.svg
browser.template
browser.timer
browser.webcomponent
browser.websocket
browser.worker

Widgets
browser.widgets.dialog
browser.widgets.menu

interpreter
javascript

Travailler avec Brython

Options d'exécution
Test et débogage
Deployer une application

Recettes

Salut !
Insérer du contenu dans un élément
Mise en forme HTML (gras, italique...)
Table HTML
Attacher / détacher des événements
Gérer la sélection d'options dans un SELECT
Glisser-déposer
Obtenir le contenu d'un élément
Lire le contenu d'un fichier
Stocker des objets localement
Exemple de onmouseover
 

module browser.websocket

Les Web sockets, définies dans HTML5, sont un moyen de gérer une communication bidirectionnelle entre le client et le serveur

Le module définit un booléen

supported
indique si le protocole WebSocket est supporté par le navigateur

et une fonction

WebSocket(hote)
hote est l'adresse d'un serveur qui supporte le protocole WebSocket. Renvoie un objet WebSocket. Si le navigateur ne gère pas ce protocole, une exception NotImplementedError est déclenchée.

Les objets WebSocket possèdent les méthodes suivantes :

bind(evt,fonction)
associe la fonction à l'événement evt. Les événements gérés et les arguments de la fonction sont :

Evénement Fonction
open fonction sans argument, appelée une fois que la connexion avec le serveur est établie
error fonction sans argument, appelée si une erreur se produit pendant la communication
message fonction qui prend un argument, une instance de DOMEvent. Cette instance possède un attribut data qui contient le message envoyé par le serveur
close fonction sans argument, appelée quand la connexion est close

send(data)
envoie la chaine data au serveur

close()
ferme la connection

Exemple :

from browser import document, websocket
from browser.widgets.dialog import InfoDialog

def on_open(evt):
    document['sendbtn'].disabled = False
    document['closebtn'].disabled = False
    document['openbtn'].disabled = True
    InfoDialog("websocket", "Connexion ouverte")

def on_message(evt):
    # message reçu du serveur
    InfoDialog("websocket", f"Message reçu : {evt.data}")

def on_close(evt):
    # la websocket est fermée
    InfoDialog("websocket", "La connexion est fermée")
    document['openbtn'].disabled = False
    document['closebtn'].disabled = True
    document['sendbtn'].disabled = True

ws = None
def _open(ev):
    if not websocket.supported:
        InfoDialog("websocket", "WebSocket n'est pas pris en charge par votre navigateur")
        return
    global ws
    # open a web socket
    ws = websocket.WebSocket("wss://echo.websocket.events")
    # attache des fonctions aux événements web sockets
    ws.bind('open', on_open)
    ws.bind('message', on_message)
    ws.bind('close', on_close)

def send(ev):
    data = document["data"].value
    if data:
        ws.send(data)

def close_connection(ev):
    ws.close()
    document['openbtn'].disabled = False

document['openbtn'].bind('click', _open)
document['sendbtn'].bind('click', send)
document['closebtn'].bind('click', close_connection)