Saltar al contenido
Logotipo de Trainontech Trainontech

Desarrollo Backend y APIs · BAC-195

WebSockets y comunicación en tiempo real

Canales persistentes con WebSockets para paneles de planta, telemetría en vivo y mensajería

Próximamente Avanzado 7 módulos · 32 clases

Formato asíncrono Desarrollo, Ingeniería / Industria JavaScript, Python

Lo que aprenderás

  • Establecer conexiones WebSocket explicando el cambio de protocolo desde HTTP y su ciclo de vida
  • Implementar servidor y cliente con Python y JavaScript gestionando conexión, cierre y errores
  • Elegir entre WebSocket, eventos enviados por el servidor y sondeo según el patrón de datos
  • Diseñar un protocolo de mensajes propio con tipos, suscripciones a canales y confirmaciones
  • Recuperar la conexión con reintento con retroceso y reenvío del estado perdido
  • Escalar a varias instancias con un intermediario de publicación y suscripción compartido
  • Autenticar y autorizar conexiones persistentes y limitar el ritmo de mensajes por cliente

Contenido del curso

7 módulos · 32 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Presentación y alternativas 4 clases
  • Por qué el sondeo no siempre basta
  • Sondeo largo, eventos enviados por el servidor y WebSockets
  • Casos reales de cada opción
  • El panel de telemetría que se construye en el curso
Módulo 2 · El protocolo WebSocket 5 clases
  • Cambio de protocolo desde HTTP
  • Tramas, texto y datos binarios
  • Latidos, ping y detección de conexiones muertas
  • Cierre limpio y códigos de cierre
  • Inspección del tráfico desde el navegador
Módulo 3 · Servidor y cliente 4 clases
  • Servidor WebSocket en Python asíncrono
  • Cliente en JavaScript y gestión de eventos
  • Registro de conexiones y difusión a varios clientes
  • Control de errores y de excepciones asíncronas
Módulo 4 · Protocolo de aplicación 5 clases
  • Diseñar tipos de mensaje y su formato
  • Suscripción y baja de canales
  • Confirmaciones y numeración de mensajes
  • Compresión y volumen de datos
  • Ritmo de emisión y agregación en el servidor
Módulo 5 · Robustez 5 clases
  • Reconexión con retroceso exponencial
  • Recuperar el estado perdido tras una caída
  • Cola en el cliente y mensajes pendientes
  • Detección de clientes lentos
  • Pruebas de corte de red
Módulo 6 · Seguridad y escalado 5 clases
  • Autenticación de la conexión con tokens
  • Autorización por canal
  • Limitación de ritmo y protección frente a abuso
  • Varias instancias con intermediario de publicación y suscripción
  • Proxy inverso, tiempos de espera y conexiones seguras
Módulo 7 · Caso práctico de panel en vivo 4 clases
  • Ingesta de telemetría y difusión a los paneles
  • Visualización en el navegador con actualización continua
  • Prueba de carga con muchas conexiones simultáneas
  • Repaso del sistema completo

Requisitos

  • Desarrollo backend con Python y JavaScript en el navegador a nivel intermedio
  • Conocer HTTP, cabeceras, autenticación por tokens y programación asíncrona
  • Nociones de despliegue detrás de un servidor web o proxy inverso

Descripción

Un panel que refresca cada cinco segundos con una petición nueva funciona hasta que hay cien pantallas abiertas y los datos cambian varias veces por segundo. Los canales persistentes resuelven ese caso, pero cambian todas las reglas: la conexión se cae, el cliente se reconecta sin saber qué se perdió y el servidor deja de ser sin estado, con lo que escalar a varias instancias deja de ser trivial.

El curso construye un panel de telemetría en vivo desde el protocolo hacia arriba. Se implementa el servidor en Python y el cliente en JavaScript, se define un protocolo de mensajes con suscripción a canales, se añade reconexión con recuperación del estado perdido y se autentica la conexión con tokens. Después se escala a varias instancias mediante un intermediario compartido.

Se comparan también los eventos enviados por el servidor y el sondeo largo, para no usar un canal bidireccional donde no hace falta. Es directamente aplicable a paneles de planta, seguimiento de procesos industriales y aplicaciones colaborativas, y enlaza con mensajería, colas e ingesta de telemetría.

¿Para quién es este curso?

  • Perfiles de desarrollo que construyen paneles de seguimiento o aplicaciones colaborativas
  • Ingeniería que necesita mostrar telemetría de planta en tiempo real sobre un navegador
  • Equipos que mantienen aplicaciones con sondeo constante y quieren reducir carga de servidor
Próximamente

Curso en hoja de ruta. Se prioriza según la demanda recogida y los proyectos en cartera.

Código
BAC-195
Nivel
Avanzado
Público
Desarrollo, Ingeniería / Industria
Entorno
JavaScript, Python

Este curso incluye

  • 32 clases en vídeo bajo demanda
  • Práctica en entornos web y simuladores, sin instalar nada
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

Bajo demanda

BAC-111Desarrollo Backend y APIs

Django REST Framework

Serializadores, vistas genéricas, permisos y paginación para exponer un backend Django como API.

DjangoPython

Avanzado 32 clases

Bajo demanda

BAC-113Desarrollo Backend y APIs

FastAPI: APIs asíncronas y documentadas

Tipado con Pydantic, documentación automática, dependencias y concurrencia real.

FastAPIPythonDocker

Avanzado 33 clases

Próximamente

BAC-121Desarrollo Backend y APIs

NestJS: backend TypeScript estructurado

Módulos, inyección de dependencias y arquitectura por capas para equipos que vienen de Java o C#.

NestJSTypeScript

Avanzado 32 clases