Obxecto obxecto incorporado

ObjectWebSocket

WebSocket é un protocolo de comunicación full-duplex baseado no protocolo TCP. Establece unha conexión ininterrompida entre o navegador e o servidor, pode realizar a transmisión de datos bidireccional en tempo real e admite a transmisión de datos en calquera formato. En fibjs, o módulo de soporte de WebSocket proporciona a interface API correspondente, que pode realizar o desenvolvemento do servidor e cliente WebSocket.

O módulo de soporte de WebSocket é só unha implementación do protocolo WebSocket e debe funcionar enriba do protocolo HTTP. No lado do servidor, a solicitude HTTP pódese converter nunha conexión WebSocket mediante a función de actualización, mentres que no lado do cliente, o enderezo do servidor que se vai conectar debe especificarse a través do URL do protocolo WebSocket.

Exemplo de inicio dun 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();

Exemplo de establecer unha conexión co servidor anterior no 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 herdanza

Construtor

WebSocket

Construtor WebSocket

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

Parámetros de chamada:

  • url: Cadea, especifica o servidor conectado
  • protocol: Cadea, especifica o protocolo de apretón de mans, o valor predeterminado é ""
  • origin: Cadea, especifica a fonte da simulación durante o apretón de mans, o valor predeterminado é ""

Construtor WebSocket

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

Parámetros de chamada:

  • url: Cadea, especifica o servidor conectado
  • opts: Obxecto, opción de conexión, o valor predeterminado é {}

opts contén opcións adicionais para a solicitude, admitidas como segue:

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

Enteiro, o número máximo global predeterminado de oíntes

1
static Integer WebSocket.defaultMaxListeners;

propiedades dos membros

url

String, consulta o servidor ao que está conectado o obxecto actual

1
readonly String WebSocket.url;

protocol

String, consulta o protocolo da conexión do obxecto actual

1
readonly String WebSocket.protocol;

origin

Cadea, consulta a fonte da conexión do obxecto actual

1
readonly String WebSocket.origin;

readyState

Enteiro, consulte o estado de conexión do obxecto actual, consultews

1
readonly Integer WebSocket.readyState;

onopen

Eventos de éxito de conexión de función, consulta e vinculación, equivalente a on("abrir", func);

1
Function WebSocket.onopen;

onmessage

Función, consulta e vinculación de eventos que reciben mensaxes da outra parte, equivalente a on("mensaxe", func);

1
Function WebSocket.onmessage;

onclose

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

1
Function WebSocket.onclose;

onerror

Función, consulta e vinculación de eventos cando se producen erros, equivalente a on("erro", func);

1
Function WebSocket.onerror;

función de membro

close

Pecha a conexión actual. Esta operación enviará un paquete CLOSE á outra parte e agardará a que a outra parte responda.

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

Parámetros de chamada:

  • code: Número enteiro, especifica o código de apagado, o valor permitido é 3000-4999 ou 1000, o valor predeterminado é 1000
  • reason: Cadea, especifica o motivo do apagado, o valor predeterminado é ""

send

Envía un texto á outra parte

1
WebSocket.send(String data);

Parámetros de chamada:

  • data: Cadea, especifica o texto que se vai enviar

Envía un anaco de datos binarios á outra parte

1
WebSocket.send(Buffer data);

Parámetros de chamada:

  • data:Buffer, especifique os datos binarios enviados

ref

Evita que o proceso fibjs saia e evite que o proceso fibjs saia durante a vinculación de obxectos

1
WebSocket WebSocket.ref();

Resultados de devolución:

  • WebSocket, devolve o obxecto actual

unref

Permite que o proceso fibjs saia. Permite que o proceso fibjs saia durante a vinculación de obxectos.

1
WebSocket WebSocket.unref();

Resultados de devolución:

  • WebSocket, devolve o obxecto actual

on

Vincular un controlador de eventos ao obxecto

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Vincular un controlador de eventos ao obxecto

1
Object WebSocket.on(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

addListener

Vincular un controlador de eventos ao obxecto

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Vincular un controlador de eventos ao obxecto

1
Object WebSocket.addListener(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

prependListener

Vincular un controlador de eventos á orixe do obxecto

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Vincular un controlador de eventos á orixe do obxecto

1
Object WebSocket.prependListener(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

once

Vincula un controlador de eventos único ao obxecto. O manejador único só se activará unha vez.

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Vincula un controlador de eventos único ao obxecto. O manejador único só se activará unha vez.

1
Object WebSocket.once(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

prependOnceListener

Vincular un controlador de eventos á orixe do obxecto

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Vincular un controlador de eventos á orixe do obxecto

1
Object WebSocket.prependOnceListener(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

off

Desasignar unha función da cola de procesamento de obxectos

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Cancela todas as funcións da cola de procesamento de obxectos

1
Object WebSocket.off(String ev);

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Desasignar unha función da cola de procesamento de obxectos

1
Object WebSocket.off(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto úsase como nome do evento e o valor do atributo úsase como función de procesamento de eventos.

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

removeListener

Desasignar unha función da cola de procesamento de obxectos

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Cancela todas as funcións da cola de procesamento de obxectos

1
Object WebSocket.removeListener(String ev);

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Desasignar unha función da cola de procesamento de obxectos

1
Object WebSocket.removeListener(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto úsase como nome do evento e o valor do atributo úsase como función de procesamento de eventos.

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

removeAllListeners

Cancela todos os oíntes de todos os eventos da cola de procesamento do obxecto. Se se especifica un evento, elimina todos os oíntes do evento especificado.

1
Object WebSocket.removeAllListeners(String ev);

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Cancela todos os oíntes de todos os eventos da cola de procesamento do obxecto. Se se especifica un evento, elimina todos os oíntes do evento especificado.

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

Parámetros de chamada:

  • evs: Matriz, especifique o nome do evento

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

setMaxListeners

O límite predeterminado no número de oíntes, só para compatibilidade

1
WebSocket.setMaxListeners(Integer n);

Parámetros de chamada:

  • n: Número enteiro, especifique o número de eventos

getMaxListeners

Obtén o número límite predeterminado de oíntes, só para compatibilidade

1
Integer WebSocket.getMaxListeners();

Resultados de devolución:

  • Integer, devolve a cantidade límite predeterminada

listeners

Consulta a matriz de escoita para o evento especificado do obxecto

1
Array WebSocket.listeners(String ev);

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Array, devolve a matriz de escoita para o evento especificado

listenerCount

Consulta o número de oíntes para o evento especificado do obxecto

1
Integer WebSocket.listenerCount(String ev);

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Integer, devolve o número de oíntes para o evento especificado

Consulta o número de oíntes para o evento especificado do obxecto

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

Parámetros de chamada:

  • o: Valor, especifica o obxecto da consulta
  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Integer, devolve o número de oíntes para o evento especificado

eventNames

Consulta o nome do evento do oínte

1
Array WebSocket.eventNames();

Resultados de devolución:

  • Array, devolve unha matriz de nomes de eventos

emit

Activa un evento de forma activa

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

Parámetros de chamada:

  • ev: Cadea, nome do evento
  • args: ..., os parámetros do evento pasaranse á función de procesamento de eventos

Resultados de devolución:

  • Boolean, devolve o estado de activación do evento, devolve verdadeiro se hai un evento de resposta, se non, devolve falso

toString

Devolve a representación en cadea do obxecto. Polo xeral, devólvese "[Obxecto nativo]". O obxecto pódese volver implementar segundo as súas propias características.

1
String WebSocket.toString();

Resultados de devolución:

  • String, devolve a representación en cadea do obxecto

toJSON

Devolve unha representación en formato JSON do obxecto, devolvendo xeralmente unha colección de propiedades lexibles definidas polo obxecto.

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

Parámetros de chamada:

  • key: Cadena, non usada

Resultados de devolución:

  • Value, devolve un valor que contén JSON serializable