Skip to content

Overview

El módulo de socketIO permite realizar comunicaciones bidireccionales en tiempo real, con latencias bajas, y sencillez de uso. SocketIO es una tecnología ideal para aplicaciones de mensajería, un enfoque afin al desarrollo que plantea remio, debido a que los proyectos desarrollados se plantean como intercambiadores de información, en concreto, variables.

Introducción⚓

Existen diversas implementaciones de la tecnología SocketIO, en diversos lenguajes como python o javascript. SocketIO, presenta además dos enfoques, uno como cliente, otro como servidor, siendo este último un coordinador u entidad central, cuya labor es redigir el tráfico a sus clientes según sea conveniente.

Eventos⚓

SocketIO está inclinado al asincronismo, y por tanto a la programación orientada a eventos, puesto que no podemos saber en que preciso momento llegará información o la enviaremos.

def connection_callback():
    print("Some connection event ocurrs!")

socket.on("connection", connection_callback)

Emisión⚓

Las comunicaciones socketIO se basan en rutas, que pueden entenderse como espacios lógicos a los que llegan los mensajes.

data = {"message": "Hello world!"}
socket.emit("SOME_ROUTE", data)

Transmisión de variables⚓

Para realizar este cometido, se sugiere emplear el estándar web JSON, que en términos de python son diccionarios. En estos objetos la información es representada por pares llave/valor.

"""Variables en python."""

variables = {
    'var1': 1.34, # float
    'var2': False, # bool
    'var3': 'rotate', # str
    'var4': 9, # int
}