Objeto incorporado

ObjetoWebSocket

WebSocket es un protocolo de comunicación full-duplex basado en el protocolo TCP, que establece una conexión ininterrumpida entre el navegador y el servidor, puede realizar una transmisión de datos bidireccional en tiempo real y puede admitir la transmisión de datos en cualquier formato. En fibjs, el módulo de soporte WebSocket proporciona la interfaz API correspondiente, que puede realizar el desarrollo del servidor y cliente WebSocket.

El módulo de soporte WebSocket es solo una implementación del protocolo WebSocket y debe funcionar sobre el protocolo HTTP. En el lado del servidor, la solicitud HTTP se puede convertir en una conexión WebSocket a través de la función de actualización, mientras que en el lado del cliente, la dirección del servidor a conectar debe especificarse a través de la URL del protocolo WebSocket.

Ejemplo de inicio de un servidor WebSocket:

1 2 3 4 5 6 7 8 9 10 11
var ws = require('ws'); var http = require('http'); var svr = new http.Server(80, { '/ws': ws.upgrade(conn => { conn.onmessage = e => { conn.send('fibjs:' + e.data); }; }) }); svr.start();

Ejemplo de establecimiento de una conexión con el servidor anterior en el cliente:

1 2 3 4 5 6 7 8 9 10 11 12
var ws = require("ws"); var conn = new ws.Socket("ws://127.0.0.1/ws"); // emit open event conn.onopen = () => { console.log("websocket connected"); conn.send("hi"); }; // emit close event conn.onmessage = evt => { console.log("websocket receive: " + evt.data); };

relación de herencia

Constructor

WebSocket

Constructor de WebSockets

1 2 3
new WebSocket(String url, String protocol = "", String origin = "");

Parámetros de llamada:

  • url: Cadena, especifica el servidor conectado
  • protocol: Cadena, especifica el protocolo de protocolo de enlace, el valor predeterminado es ""
  • origin: Cadena, especifica la fuente de simulación durante el protocolo de enlace, el valor predeterminado es ""

Constructor de WebSockets

1 2
new WebSocket(String url, Object opts);

Parámetros de llamada:

  • url: Cadena, especifica el servidor conectado
  • opts: Objeto, opción de conexión, el valor predeterminado es {}

opts contiene opciones adicionales para la solicitud, respaldadas de la siguiente manera:

1 2 3 4 5 6 7 8
{ "protocol": "", // specify the sub-protocol, default is "" "origin": "", // specify the origin, default is "" "perMessageDeflate": false, // specify whether to enable permessage-deflate, default is false "maxPayload": 67108864, // specify the max payload size, default is 64MB "httpClient": hc, // specify the http client, default is null, use the global http client "headers": // specify the http headers, default is {} }

propiedades estáticas

defaultMaxListeners

Entero, el número máximo global predeterminado de oyentes

1
static Integer WebSocket.defaultMaxListeners;

propiedades de miembros

url

Cadena, consulta el servidor al que está conectado el objeto actual

1
readonly String WebSocket.url;

protocol

Cadena, consulta el protocolo de conexión del objeto actual

1
readonly String WebSocket.protocol;

origin

Cadena, consulta la fuente de la conexión del objeto actual

1
readonly String WebSocket.origin;

readyState

Entero, consulta el estado de conexión del objeto actual, consultews

1
readonly Integer WebSocket.readyState;

onopen

Función, consulta y vinculación de eventos exitosos de conexión, equivalente a on("open", func);

1
Function WebSocket.onopen;

onmessage

Función, consulta y vincula eventos que reciben mensajes de la otra parte, equivalente a on("message", func);

1
Function WebSocket.onmessage;

onclose

Función, consulta y vincula eventos de cierre de conexión, equivalente a on("close", func);

1
Function WebSocket.onclose;

onerror

Funcionar, consultar y vincular eventos cuando se produzcan errores, equivalente a on("error", func);

1
Function WebSocket.onerror;

función miembro

close

Cierre la conexión actual. Esta operación enviará un paquete CERRAR a la otra parte y esperará a que la otra parte responda.

1 2
WebSocket.close(Integer code = 1000, String reason = "");

Parámetros de llamada:

  • code: Entero, especifica el código de apagado, el valor permitido es 3000-4999 o 1000, el valor predeterminado es 1000
  • reason: Cadena, especifica el motivo del apagado, el valor predeterminado es ""

send

Enviar un mensaje de texto a la otra parte

1
WebSocket.send(String data);

Parámetros de llamada:

  • data: Cadena, especifica el texto a enviar

Enviar un dato binario a la otra parte

1
WebSocket.send(Buffer data);

Parámetros de llamada:

  • data:Buffer, especifica los datos binarios enviados

ref

Evite que el proceso fibjs salga y evite que el proceso fibjs salga durante el enlace de objetos

1
WebSocket WebSocket.ref();

Resultados de devolución:

  • WebSocket, devuelve el objeto actual

unref

Permitir que el proceso fibjs salga.Permitir que el proceso fibjs salga durante el enlace del objeto.

1
WebSocket WebSocket.unref();

Resultados de devolución:

  • WebSocket, devuelve el objeto actual

on

Vincular un controlador de eventos al objeto

1 2
Object WebSocket.on(String ev, Function func);

Parámetros de llamada:

  • ev: Cadena, especifica el nombre del evento.
  • func: Función, especifique la función de procesamiento de eventos

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

Vincular un controlador de eventos al objeto

1
Object WebSocket.on(Object map);

Parámetros de llamada:

  • map: Objeto, especifica la relación de mapeo de eventos, el nombre del atributo del objeto se usará como nombre del evento y el valor del atributo se usará como función de procesamiento de eventos.

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

addListener

Vincular un controlador de eventos al objeto

1 2
Object WebSocket.addListener(String ev, Function func);

Parámetros de llamada:

  • ev: Cadena, especifica el nombre del evento.
  • func: Función, especifique la función de procesamiento de eventos

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

Vincular un controlador de eventos al objeto

1
Object WebSocket.addListener(Object map);

Parámetros de llamada:

  • map: Objeto, especifica la relación de mapeo de eventos, el nombre del atributo del objeto se usará como nombre del evento y el valor del atributo se usará como función de procesamiento de eventos.

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

prependListener

Vincular un controlador de eventos al origen del objeto

1 2
Object WebSocket.prependListener(String ev, Function func);

Parámetros de llamada:

  • ev: Cadena, especifica el nombre del evento.
  • func: Función, especifique la función de procesamiento de eventos

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

Vincular un controlador de eventos al origen del objeto

1
Object WebSocket.prependListener(Object map);

Parámetros de llamada:

  • map: Objeto, especifica la relación de mapeo de eventos, el nombre del atributo del objeto se usará como nombre del evento y el valor del atributo se usará como función de procesamiento de eventos.

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

once

Vincula un controlador de eventos de una sola vez al objeto. El controlador de eventos de una sola vez solo se activará una vez.

1 2
Object WebSocket.once(String ev, Function func);

Parámetros de llamada:

  • ev: Cadena, especifica el nombre del evento.
  • func: Función, especifique la función de procesamiento de eventos

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

Vincula un controlador de eventos de una sola vez al objeto. El controlador de eventos de una sola vez solo se activará una vez.

1
Object WebSocket.once(Object map);

Parámetros de llamada:

  • map: Objeto, especifica la relación de mapeo de eventos, el nombre del atributo del objeto se usará como nombre del evento y el valor del atributo se usará como función de procesamiento de eventos.

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

prependOnceListener

Vincular un controlador de eventos al origen del objeto

1 2
Object WebSocket.prependOnceListener(String ev, Function func);

Parámetros de llamada:

  • ev: Cadena, especifica el nombre del evento.
  • func: Función, especifique la función de procesamiento de eventos

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

Vincular un controlador de eventos al origen del objeto

1
Object WebSocket.prependOnceListener(Object map);

Parámetros de llamada:

  • map: Objeto, especifica la relación de mapeo de eventos, el nombre del atributo del objeto se usará como nombre del evento y el valor del atributo se usará como función de procesamiento de eventos.

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

off

Desasignar una función de la cola de procesamiento de objetos

1 2
Object WebSocket.off(String ev, Function func);

Parámetros de llamada:

  • ev: Cadena, especifica el nombre del evento.
  • func: Función, especifique la función de procesamiento de eventos

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

Cancelar todas las funciones en la cola de procesamiento de objetos

1
Object WebSocket.off(String ev);

Parámetros de llamada:

  • ev: Cadena, especifica el nombre del evento.

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

Desasignar una función de la cola de procesamiento de objetos

1
Object WebSocket.off(Object map);

Parámetros de llamada:

  • map: Objeto, especifica la relación de mapeo de eventos, el nombre del atributo del objeto se usa como nombre del evento y el valor del atributo se usa como función de procesamiento de eventos.

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

removeListener

Desasignar una función de la cola de procesamiento de objetos

1 2
Object WebSocket.removeListener(String ev, Function func);

Parámetros de llamada:

  • ev: Cadena, especifica el nombre del evento.
  • func: Función, especifique la función de procesamiento de eventos

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

Cancelar todas las funciones en la cola de procesamiento de objetos

1
Object WebSocket.removeListener(String ev);

Parámetros de llamada:

  • ev: Cadena, especifica el nombre del evento.

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

Desasignar una función de la cola de procesamiento de objetos

1
Object WebSocket.removeListener(Object map);

Parámetros de llamada:

  • map: Objeto, especifica la relación de mapeo de eventos, el nombre del atributo del objeto se usa como nombre del evento y el valor del atributo se usa como función de procesamiento de eventos.

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

removeAllListeners

Cancela todos los oyentes de todos los eventos de la cola de procesamiento del objeto. Si se especifica un evento, elimina todos los oyentes del evento especificado.

1
Object WebSocket.removeAllListeners(String ev);

Parámetros de llamada:

  • ev: Cadena, especifica el nombre del evento.

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

Cancela todos los oyentes de todos los eventos de la cola de procesamiento del objeto. Si se especifica un evento, elimina todos los oyentes del evento especificado.

1
Object WebSocket.removeAllListeners(Array evs = []);

Parámetros de llamada:

  • evs: Matriz, especifique el nombre del evento

Resultados de devolución:

  • Object, devuelve el objeto de evento en sí para facilitar las llamadas en cadena

setMaxListeners

El límite predeterminado en la cantidad de oyentes, solo por compatibilidad

1
WebSocket.setMaxListeners(Integer n);

Parámetros de llamada:

  • n: Entero, especifica el número de eventos

getMaxListeners

Obtiene el número límite predeterminado de oyentes, solo por compatibilidad

1
Integer WebSocket.getMaxListeners();

Resultados de devolución:

  • Integer, devuelve la cantidad límite predeterminada

listeners

Consultar la matriz de escucha para el evento especificado del objeto.

1
Array WebSocket.listeners(String ev);

Parámetros de llamada:

  • ev: Cadena, especifica el nombre del evento.

Resultados de devolución:

  • Array, devuelve la matriz de escucha para el evento especificado

listenerCount

Consultar el número de oyentes para el evento especificado del objeto.

1
Integer WebSocket.listenerCount(String ev);

Parámetros de llamada:

  • ev: Cadena, especifica el nombre del evento.

Resultados de devolución:

  • Integer, devuelve el número de oyentes para el evento especificado

Consultar el número de oyentes para el evento especificado del objeto.

1 2
Integer WebSocket.listenerCount(Value o, String ev);

Parámetros de llamada:

  • o: Valor, especifica el objeto de la consulta.
  • ev: Cadena, especifica el nombre del evento.

Resultados de devolución:

  • Integer, devuelve el número de oyentes para el evento especificado

eventNames

Nombre del evento del oyente de consultas

1
Array WebSocket.eventNames();

Resultados de devolución:

  • Array, devuelve una serie de nombres de eventos

emit

Activar activamente un evento

1 2
Boolean WebSocket.emit(String ev, ...args);

Parámetros de llamada:

  • ev: Cadena, nombre del evento
  • args: ..., los parámetros del evento se pasarán a la función de procesamiento de eventos

Resultados de devolución:

  • Boolean, devuelve el estado del activador del evento, devuelve verdadero si hay un evento de respuesta; de lo contrario, devuelve falso

toString

Devuelve la representación de cadena del objeto. Generalmente, se devuelve "[Objeto nativo]". El objeto se puede volver a implementar de acuerdo con sus propias características.

1
String WebSocket.toString();

Resultados de devolución:

  • String, devuelve la representación de cadena del objeto

toJSON

Devuelve una representación en formato JSON del objeto, que generalmente devuelve una colección de propiedades legibles definidas por el objeto.

1
Value WebSocket.toJSON(String key = "");

Parámetros de llamada:

  • key: Cadena, no utilizada

Resultados de devolución:

  • Value, devuelve un valor que contiene JSON serializable