Oggetto oggetto incorporato

ObjectWebSocket

WebSocket è un protocollo di comunicazione full-duplex basato sul protocollo TCP. Stabilisce una connessione ininterrotta tra il browser e il server, può realizzare la trasmissione dati bidirezionale in tempo reale e può supportare la trasmissione dati in qualsiasi formato. In fibjs, il modulo di supporto WebSocket fornisce l'interfaccia API corrispondente, che può realizzare lo sviluppo del server e del client WebSocket.

Il modulo di supporto WebSocket è solo un'implementazione del protocollo WebSocket e deve funzionare sopra il protocollo HTTP. Lato server la richiesta HTTP può essere convertita in una connessione WebSocket tramite la funzione di upgrade, mentre lato client è necessario specificare l'indirizzo del server a cui connettersi tramite l'URL del protocollo WebSocket.

Esempio di avvio di un server 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();

Esempio di creazione di una connessione con il server sopra indicato nel client:

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); };

rapporto ereditario

Costruttore

WebSocket

Costruttore WebSocket

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

Parametri di chiamata:

  • url: String, specifica il server connesso
  • protocol: Stringa, specifica il protocollo di handshake, il valore predefinito è ""
  • origin: Stringa, specifica l'origine della simulazione durante l'handshake, il valore predefinito è ""

Costruttore WebSocket

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

Parametri di chiamata:

  • url: String, specifica il server connesso
  • opts: Oggetto, opzione di connessione, l'impostazione predefinita è {}

opts contiene opzioni aggiuntive per la richiesta, supportate come 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 {} }

proprietà statiche

defaultMaxListeners

Intero, il numero massimo globale predefinito di ascoltatori

1
static Integer WebSocket.defaultMaxListeners;

proprietà dei membri

url

String, interroga il server a cui è connesso l'oggetto corrente

1
readonly String WebSocket.url;

protocol

Stringa, interroga il protocollo della connessione dell'oggetto corrente

1
readonly String WebSocket.protocol;

origin

String, interroga l'origine della connessione dell'oggetto corrente

1
readonly String WebSocket.origin;

readyState

Intero, interroga lo stato della connessione dell'oggetto corrente, vediws

1
readonly Integer WebSocket.readyState;

onopen

Funzione, interroga e associa eventi di successo della connessione, equivalente a on("open", func);

1
Function WebSocket.onopen;

onmessage

Funzione, interroga e associa eventi che ricevono messaggi dall'altra parte, equivalente a on("message", func);

1
Function WebSocket.onmessage;

onclose

Funzione, interroga e lega gli eventi di chiusura della connessione, equivalente a on("close", func);

1
Function WebSocket.onclose;

onerror

Funzione, interroga e associa eventi quando si verificano errori, equivalente a on("error", func);

1
Function WebSocket.onerror;

funzione membro

close

Chiudi la connessione corrente. Questa operazione invierà un pacchetto CLOSE all'altra parte e attenderà la risposta dell'altra parte.

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

Parametri di chiamata:

  • code: Numero intero, specifica il codice di arresto, il valore consentito è 3000-4999 o 1000, il valore predefinito è 1000
  • reason: Stringa, specifica il motivo dello spegnimento, il valore predefinito è ""

send

Invia un messaggio all'altra parte

1
WebSocket.send(String data);

Parametri di chiamata:

  • data: String, specifica il testo da inviare

Invia un pezzo di dati binari all'altra parte

1
WebSocket.send(Buffer data);

Parametri di chiamata:

  • data:Buffer, specificare i dati binari inviati

ref

Mantieni la chiusura del processo fibjs e impedisci la chiusura del processo fibjs durante l'associazione degli oggetti

1
WebSocket WebSocket.ref();

Risultati restituiti:

  • WebSocket, restituisce l'oggetto corrente

unref

Consenti l'uscita del processo fibjs. Consenti l'uscita del processo fibjs durante l'associazione degli oggetti.

1
WebSocket WebSocket.unref();

Risultati restituiti:

  • WebSocket, restituisce l'oggetto corrente

on

Associa un gestore eventi all'oggetto

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

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Associa un gestore eventi all'oggetto

1
Object WebSocket.on(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto verrà utilizzato come nome dell'evento e il valore dell'attributo verrà utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

addListener

Associa un gestore eventi all'oggetto

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

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Associa un gestore eventi all'oggetto

1
Object WebSocket.addListener(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto verrà utilizzato come nome dell'evento e il valore dell'attributo verrà utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

prependListener

Associa un gestore eventi all'origine dell'oggetto

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

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Associa un gestore eventi all'origine dell'oggetto

1
Object WebSocket.prependListener(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto verrà utilizzato come nome dell'evento e il valore dell'attributo verrà utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

once

Associa un gestore di eventi monouso all'oggetto. Il gestore di eventi monouso verrà attivato solo una volta.

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

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Associa un gestore di eventi monouso all'oggetto. Il gestore di eventi monouso verrà attivato solo una volta.

1
Object WebSocket.once(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto verrà utilizzato come nome dell'evento e il valore dell'attributo verrà utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

prependOnceListener

Associa un gestore eventi all'origine dell'oggetto

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

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Associa un gestore eventi all'origine dell'oggetto

1
Object WebSocket.prependOnceListener(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto verrà utilizzato come nome dell'evento e il valore dell'attributo verrà utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

off

Annullare l'assegnazione di una funzione dalla coda di elaborazione degli oggetti

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

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Annulla tutte le funzioni nella coda di elaborazione degli oggetti

1
Object WebSocket.off(String ev);

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Annullare l'assegnazione di una funzione dalla coda di elaborazione degli oggetti

1
Object WebSocket.off(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto viene utilizzato come nome dell'evento e il valore dell'attributo viene utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

removeListener

Annullare l'assegnazione di una funzione dalla coda di elaborazione degli oggetti

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

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Annulla tutte le funzioni nella coda di elaborazione degli oggetti

1
Object WebSocket.removeListener(String ev);

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Annullare l'assegnazione di una funzione dalla coda di elaborazione degli oggetti

1
Object WebSocket.removeListener(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto viene utilizzato come nome dell'evento e il valore dell'attributo viene utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

removeAllListeners

Annulla tutti i listener per tutti gli eventi dalla coda di elaborazione dell'oggetto. Se viene specificato un evento, rimuove tutti i listener per l'evento specificato.

1
Object WebSocket.removeAllListeners(String ev);

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Annulla tutti i listener per tutti gli eventi dalla coda di elaborazione dell'oggetto. Se viene specificato un evento, rimuove tutti i listener per l'evento specificato.

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

Parametri di chiamata:

  • evs: Array, specifica il nome dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

setMaxListeners

Il limite predefinito sul numero di ascoltatori, solo per compatibilità

1
WebSocket.setMaxListeners(Integer n);

Parametri di chiamata:

  • n: Numero intero, specifica il numero di eventi

getMaxListeners

Ottiene il numero limite predefinito di ascoltatori, solo per compatibilità

1
Integer WebSocket.getMaxListeners();

Risultati restituiti:

  • Integer, restituisce la quantità limite predefinita

listeners

Interroga l'array del listener per l'evento specificato dell'oggetto

1
Array WebSocket.listeners(String ev);

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento

Risultati restituiti:

  • Array, restituisce l'array del listener per l'evento specificato

listenerCount

Interroga il numero di ascoltatori per l'evento specificato dell'oggetto

1
Integer WebSocket.listenerCount(String ev);

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento

Risultati restituiti:

  • Integer, restituisce il numero di ascoltatori per l'evento specificato

Interroga il numero di ascoltatori per l'evento specificato dell'oggetto

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

Parametri di chiamata:

  • o: Valore, specifica l'oggetto della query
  • ev: String, specifica il nome dell'evento

Risultati restituiti:

  • Integer, restituisce il numero di ascoltatori per l'evento specificato

eventNames

Interroga il nome dell'evento del listener

1
Array WebSocket.eventNames();

Risultati restituiti:

  • Array, restituisce una matrice di nomi di eventi

emit

Attiva attivamente un evento

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

Parametri di chiamata:

  • ev: stringa, nome dell'evento
  • args: ..., i parametri dell'evento verranno passati alla funzione di elaborazione degli eventi

Risultati restituiti:

  • Boolean, restituisce lo stato di attivazione dell'evento, restituisce true se è presente un evento di risposta, altrimenti restituisce false

toString

Restituisce la rappresentazione in formato stringa dell'oggetto. Generalmente viene restituito "[Oggetto nativo]". L'oggetto può essere reimplementato in base alle proprie caratteristiche.

1
String WebSocket.toString();

Risultati restituiti:

  • String, restituisce la rappresentazione di stringa dell'oggetto

toJSON

Restituisce una rappresentazione in formato JSON dell'oggetto, generalmente restituendo una raccolta di proprietà leggibili definite dall'oggetto.

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

Parametri di chiamata:

  • key: Stringa, non utilizzata

Risultati restituiti:

  • Value, restituisce un valore contenente JSON serializzabile