Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.

View in English Always switch to English

WebSocket

Baseline
Ampliamente disponible
*

Esta característica está consolidada y funciona en muchos dispositivos y versiones de navegador. Está disponible en todos los navegadores desde julio de 2015.

* Algunas partes de esta característica pueden tener distintos niveles de compatibilidad.

Nota: Esta característica está disponible en Web Workers.

El objeto WebSocket proporciona la API para crear y gestionar una conexión WebSocket a un servidor, así como para enviar y recibir datos a través de dicha conexión.

Para construir un WebSocket, usa el constructor WebSocket().

Nota: La API de WebSocket no tiene forma de aplicar backpressure, por lo tanto, cuando los mensajes llegan más rápido de lo que la aplicación puede procesarlos, esta saturará la memoria del dispositivo al almacenarlos en el búfer, dejará de responder debido a un uso del 100% de la CPU, o ambas cosas. Si necesitas una alternativa que ofrezca backpressure automáticamente, consulta WebSocketStream.

EventTarget WebSocket

Constructor

WebSocket()

Devuelve un objeto WebSocket recién creado.

Propiedades de instancia

WebSocket.binaryType

El tipo de datos binarios que usa la conexión.

WebSocket.bufferedAmount Read only

El número de bytes de datos en cola.

WebSocket.extensions Read only

Las extensiones que ha seleccionado el servidor.

WebSocket.protocol Read only

El subprotocolo que ha seleccionado el servidor.

WebSocket.readyState Read only

El estado actual de la conexión.

WebSocket.url Read only

La URL absoluta del WebSocket.

Métodos de instancia

WebSocket.close()

Cierra la conexión.

WebSocket.send()

Pone en cola los datos para transmitirlos.

Eventos

Escucha estos eventos con addEventListener() o asignando un detector de eventos a la propiedad oneventname de esta interfaz.

close

Se dispara cuando se cierra una conexión con un WebSocket. También está disponible mediante la propiedad onclose.

error

Se dispara cuando se cierra una conexión con un WebSocket debido a un error, por ejemplo, cuando no se han podido enviar algunos datos. También está disponible mediante la propiedad onerror.

message

Se dispara cuando se reciben datos a través de un WebSocket. También está disponible mediante la propiedad onmessage.

open

Se dispara cuando se abre una conexión con un WebSocket. También está disponible mediante la propiedad onopen.

Ejemplos

js
// Crea la conexión WebSocket.
const socket = new WebSocket("ws://localhost:8080");

// La conexión se ha abierto
socket.addEventListener("open", (event) => {
  socket.send("¡Hola, servidor!");
});

// Escucha los mensajes
socket.addEventListener("message", (event) => {
  console.log("Mensaje del servidor ", event.data);
});

Especificaciones

Especificación
WebSockets
# the-websocket-interface

Compatibilidad con navegadores

Véase también