WebSocket.send() | Webapi

 

Descripción

El método send() del objeto WebSocket permite enviar datos a través de una conexión WebSocket establecida. Los datos pueden ser de diferentes tipos como cadenas de texto, ArrayBuffer, Blob o datos binarios. El método es asíncrono y no espera a que los datos sean enviados para continuar con la ejecución del código.

El error InvalidStateError se produce cuando se intenta enviar datos a través de una conexión WebSocket que no está en el estado OPEN, es decir, cuando la conexión no se ha establecido correctamente o ya se ha cerrado y por lo tanto se genera una DOMException.

Sintaxis

send(data)

Parámetros

  • data,los datos que se pueden enviar al servidor a través de la conexión WebSocket pueden ser de los siguientes tipos fundamentales, cada uno con sus propias características y casos de uso específicos:
    • String, que permite enviar texto plano o datos formateados como JSON en un encoding utf-8.
    • ArrayBuffer, útil para transmitir datos binarios de longitud fija
    • Blob, ideal para el envío de archivos y datos binarios de gran tamaño
    • TypedArray o DataView, que proporcionan una manera estructurada de trabajar con datos binarios,

Excepciones

DOMException

Objeto Padre

WebSocket

Ejemplo

En el siguiente ejemplo se muestra cómo establecer una conexión WebSocket y enviar datos al servidor utilizando el método send():

// Crear una nueva conexión WebSocket
const ws = new WebSocket('ws://ejemplo.com/socket');

// Cuando la conexión está abierta, enviamos datos
ws.onopen = function() {
    // Enviar una cadena de texto
    ws.send('Hola Servidor');
    
    // Enviar datos JSON
    ws.send(JSON.stringify({mensaje: 'Hola', tipo: 'saludo'}));
    
    // Enviar datos binarios
    const buffer = new ArrayBuffer(4);
    ws.send(buffer);
};

Artículos