Web Sockets
Web Sockets es una tecnología que permite crear aplicaciones capaces de recibir información del servidor y actualizarse en tiempo real, sin necesidad de refrescar la página.
La forma en que funciona Web Sockets es que el navegador, a través de JavaScript, abre una conexión HTTP con el servidor y maniente esa conexión abierta para que el servidor pueda enviarle información al navegador en cualquier momento.
Para que Web Sockets funcione se debe escribir código tanto en el cliente (con JavaScript) como en el servidor (dependiendo del lenguaje que se utilice).
El cliente
La mayoría de navegadores hoy soportan Web Sockets. El código JavaScript necesario para abrir una conexión y escuchar mensajes del servidor es el siguiente:
El servidor
El servidor se puede escribir en cualquier lenguaje de programación (Web Sockets es una tecnología independiente del lenguaje). Para este ejemplo vamos a utilizar Node.js con una librería llamada express-ws.
Para instalar la librería utiliza NPM o Yarn. Con Yarn utiliza el siguiente comando:
Crea un archivo llamado app.js
y escribe lo siguiente:
Algunas alternativas en otros lenguajes de programación incluyen:
Ruby - Faye's WebSockets
Ruby on Rails - ActionCable
Python - websockets
Java - JSR-356
Socket.io
Socket.io es una librería de Node.js para desarrollar aplicaciones con WebSockets que también incluye una librería para el cliente.
El desarrollo con Socket.io es parecido a lo que ya hemos visto, pero Socket.io ofrece varias ventajas y funcionalidades interesantes:
Reconexión automática.
Canales (rooms) y eventos.
Transimisión de imagen, audio y video.
Soporte para navegadores antiguos (p.e. IE9 e IE8).
Veamos un ejemplo. En el cliente debes incluir la librería de Socket.io:
En el servidor:
Last updated