Introducción

Instalación

Preguntas frecuentes (faq)

Sintaxis, palabras clave y funciones integradas

Distribución estándar

Implementación del import

Interfaz del navegador

Introducción - DOM API
Creando un documento
Accediendo a los elementos
Atributos, propriedades y métodos

Eventos
Eventos del ratón
Eventos del teclado
Eventos de foco
Eventos de arrastre

Query string

Usando objetos y librerías Javascript

Módulos específicos de Brython

El módulo integrado `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

javascript

Trabajando con Brython

Opciones de la función brython()
Testing y depuración
Desplegando una aplicación

Cookbook

Hola Mundo !
Insertar contenido en un elemento
Marcado HTML (bold,italic...)
Tabla HTML
Añadir (*bind*) y eliminar (*unbind*) eventos
Handle options in a SELECT
Arrastrar y soltar
Obtener el contenido de un elemento
Leer el contenido de un fichero
Almacenar objetos localmente
Ejemplo de onmouseover
 

módulo browser.websocket

Los Web sockets, definidos en HTML5, son una manera de manejar comunicación bidireccional entre el cliente y el servidor.

El módulo define una función :

supported

indica si el protocolo está soportado por el navegador

y una función:

WebSocket(host)

host define la localización de un servidor que soporta el protocolo WebSocket. devuelve un objeto WebSocket. Si el navegador no soporta WebSocket, se lanzará un NotImplementedError

Un objeto WebSocket dispone de los siguientes métodos :

bind(evt,function)
adjunta la funcion al evento evt. Los eventos y los correspondientes argumentos de la función son :

Evento Función
open función sin argumento, establece la conexión con el servidor una vez que se la llama
error función sin argumento, será llamada si ocurre un error durante la comunicación
message función con un argumento, una instancia del DOMEvent. Esta instancia posee el atributo data que recibe el mensaje enviado por el servidor como una cadena
close función sin argumento, será llamada cuando se cierra la conexión

send(data)
envía el string data al servidor

close()
cierra la conexión

Ejemplo :

from browser import bind, 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", f"Conexión abierta")

def on_message(evt):
    # message received from server
    InfoDialog("websocket", f"Mensaje recibido : {evt.data}")

def on_close(evt):
    # websocket is closed
    InfoDialog("websocket", "La conexión esta cierrada")
    document['openbtn'].disabled = False
    document['closebtn'].disabled = True
    document['sendbtn'].disabled = True

ws = None

@bind('#openbtn', 'click')
def _open(ev):
    if not websocket.supported:
        InfoDialog("websocket", "WebSocket is not supported by your browser")
        return
    global ws
    # open a web socket
    ws = websocket.WebSocket("wss://echo.websocket.org")
    # bind functions to web socket events
    ws.bind('open',on_open)
    ws.bind('message',on_message)
    ws.bind('close',on_close)

@bind('#sendbtn', 'click')
def send(ev):
    data = document["data"].value
    if data:
        ws.send(data)

@bind('#closebtn', 'click')
def close_connection(ev):
    ws.close()
    document['openbtn'].disabled = False