Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnología web para desarrolladores
  2. API web
  3. WebSocket

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 EnglishAlways switch to English

WebSocket

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨julio de 2015⁩.

* Some parts of this feature may have varying levels of support.

Experimental:Esta es unatecnología experimental
Comprueba laTabla de compabilidad de navegadores cuidadosamente antes de usarla en producción.

El objeto WebSocket provee la API para la creación y administración de una conexiónWebSocketa un servidor, así como también para enviar y recibir datos en la conexión.El constructor de WebSocket acepta un parámetro requerido y otro opcional.
WebSocket WebSocket(  in DOMString url,  in optional DOMString protocols);WebSocket WebSocket(  in DOMString url,  in optional DOMString[] protocols);
url

La URL a la cual se conecta, debe ser la URL con la cual el servidor WebSocket debe responder.

protocolsOpcional

Permite cualquier caso, desde un simple protocolo o un arreglo de cadenas de texto. Estas cadenas de texto son usadas para indicar subprotocolos, en los cuales un único servidor puede implementar múltiples subprotocolos para el WebSocket (por ejemplo, tu podrías esperar que un servido gestione diferentes tipos de interacciones dependiendo de un tipo específico de protocolo). Si no especificas un subprotocolo, se asume una cadena de texto vacía.

El constructor puede levantar excepciones:

SECURITY_ERR

El puerto en el cual la conexión se realiza se encuentra bloqueado.

Revisión de Métodos

void close(in optional unsigned long code, in optional DOMString reason);
void send(in DOMString data);

Atributos

AtributoTipoDescricción
binaryTypeDOMStringUna cadena de texto indicando el tipo de dato binario que es transmitido por la conexión. Debe ser de cualquier manera "blob" si es se unas objetos DOMBlob o bien "arraybuffer"ArrayBuffer si se usan otro tipo de objetos
bufferedAmountunsigned longLa cantidad de bytes de data que pueden ser almacenadas en cola utilizando llamadas asend pero que aún no se han transmitido a la red. Este valor se reestablece a cero una vez que toda la información ha sido enviada. Este valor no vuelve a cero cuando la conexión es cerrada; si mantientes llamandosend, continuará acumulandose.Solo de lectura.
extensionsDOMStringLas extensiones seleccionadas por el servidor. Esto solamente puede ser un string vacío o bien una lista de extensiones que es negociada por la conexión.
oncloseEventListenerUn monitor de eventos que atiende una llamada cuando la conexión del WebSocket cambia a un estado CERRADO (CLOSED). El monitor recibe unCloseEvent llamado "cerrado".
onerrorEventListenerUn monitor de eventos que es llamado cuando un error ocurre. Esto es un evento simple llamado "error"
onmessageEventListenerUn monitor de eventos que es llamado cuando un mensaje es recibido desde un servidor. El monitor recibe un objetoMessageEventllamado "mensaje".
onopenEventListenerUn monitor de eventos que es llamado cuando el estadoreadyState de la conexiónWebsocket cambia aOPEN. Esto indica que la conexión está lista para enviar y recibir datos. El evento es uno simple con el nombre "open".
protocolDOMStringUna cadena indicando el nombre del sub-protocolo que el servidor ha seleccionado. Este puede ser una de las cadenas especificadas en el parámetroprotocols cuando se ha creado el objeto Websocket.
readyStateunsigned shortEl estado actual de la conexión. Este es uno deReady state constants.Solo lectura.
urlDOMStringLa URL como la resuelve el constructor. Esto siempre es una URL absoluta.Solo lectura.

Constantes

Ready state constants

Estas constantes son usadas por el atributoreadyState para describir el estado de la conexiónWebSocket.

ConstanteValorDescripción
CONNECTING0La conexión no está aún abierta.
OPEN1La conexión está abierta y lista para comunicar.
CLOSING2La conexión está siendo cerrada.
CLOSED3La conexión está cerrada o no puede ser abierta.

Métodos

close()

Cierra la conexión o intento de conexión del WebSocket si lo hay. Si la conexión ya está cerrada, no hace nada.

void close(  in optional unsigned short code,  in optional DOMString reason);

Parámetros

codeOpcional

Un valor numérico indicando el código de estado que explica porqué la conexión está siendo cerrada. Si no se especifica este parámetro, se asume un valor por defecto de 1000 (que indica un cierre normal por "transacción completa") . Vercódigos de estado en la página deCloseEvent para la lista de valores permitidos.

reasonOpcional

Una cadena legible explicando porqué la conexión está siendo cerrada. Esta cadena no puede ser mayor que 123 bytes de texto UTF-8 (no caracteres)

Exceptions thrown

INVALID_ACCESS_ERR

Se ha especificado un código erróneo.

SYNTAX_ERR

Lareason cadena es demasiado larga o continene caracteres no validos.

Nota:En Gecko, este método no soporta ningun parámetro antes de Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5).

send()

Transmite datos al servidor sobre la conexión WebSocket.

void send(  in DOMString data);void send(  in ArrayBuffer data);void send(  in Blob data);

Parametros

data

Una cadena de texto que enviar al servidor.

Excepciones

INVALID_STATE_ERR

La conexión no está abierta en este momento.

SYNTAX_ERR

La data tiene caracteres no válidos que no se pueden decodificar.

Nota:La implementación del métodosend() en el motor de renderizado Gecko puede cambiar de la especificación en Gecko 6.0; Gecko devuelve unboolean indicando si la conexión esta todavía abierta (y, por extensión, que los datos son encolados o trasmitidos satisfactoriamente). Esto ha sido corregido en Gecko 8.0.

A partir de Gecko 11.0, implementaArrayBuffer pero no tipos de datosBlob.

Ejemplo

js
// Crea una nueva conexión.const socket = new WebSocket("ws://localhost:8080");// Abre la conexiónsocket.addEventListener("open", function (event) {  socket.send("Hello Server!");});// Escucha por mensajessocket.addEventListener("message", function (event) {  console.log("Message from server", event.data);});

Especificaciones

Specification
WebSockets
# the-websocket-interface

Compatibilidad con navegadores

Referencias adicionales

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp