Modulo Modulo base

Modulo ws

modulo di supporto websocket

Istruzioni:

1
var ws = require('ws');

Crea un server:

1 2 3 4 5 6 7 8 9
var ws = require('ws'); var http = require('http'); var svr = new http.Server(80, { '/ws': ws.upgrade((conn, req) => { conn.onmessage = e => console.log(e.data); }) }); svr.run();

Usa client WebSocket :

1 2 3 4
var ws = require('ws'); var conn = new ws.Socket('ws://127.0.0.1/ws'); conn.onmessage = e => console.log(e.data);

Oggetto

Message

Creare un oggetto messaggio websocket, consultare WebSocketMessage

1
WebSocketMessage ws.Message;

Socket

Oggetto WebSocket , consultare WebSocket

1
WebSocket ws.Socket;

Funzione statica

upgrade

Creare un processore di protocollo websocket, ricevere richieste di aggiornamento da http e stringere la mano, generare oggetti WebSocket

1
static Handler ws.upgrade(Function accept);

Parametri di chiamata:

  • accept : funzione, la connessione viene elaborata correttamente, il callback passerà due parametri, il primo parametro è l'oggetto WebSocket ricevuto, il secondo parametro è l'oggetto HttpRequest durante l'handshake

Risultato di ritorno:


Creare un processore di protocollo websocket, ricevere richieste di aggiornamento da http e stringere la mano, generare oggetti WebSocket

1 2
static Handler ws.upgrade(Object opts, Function accept);

Parametri di chiamata:

  • opts : oggetto, opzioni di connessione, il valore predefinito è {}
  • accept : funzione, la connessione viene elaborata correttamente, il callback passerà due parametri, il primo parametro è l'oggetto WebSocket ricevuto, il secondo parametro è l'oggetto HttpRequest durante l'handshake

Risultato di ritorno:

opts contiene opzioni aggiuntive richieste, il contenuto supportato è il seguente:

1 2 3 4
{ "perMessageDeflate": true, // 指定是否支持压缩,缺省支持 "maxPayload": 67108864 // 指定最大数据包尺寸,缺省为 67108864 }

costante

CONTINUE

Specificare il tipo di messaggio websocket 0, che rappresenta un frame continuo

1
const ws.CONTINUE = 0;

TEXT

Specificare il tipo di messaggio websocket 1, che rappresenta una cornice di testo

1
const ws.TEXT = 1;

BINARY

Specificare il messaggio websocket di tipo 2, che rappresenta un frame binario

1
const ws.BINARY = 2;

CLOSE

Specificare il tipo di messaggio websocket 8, la connessione è chiusa

1
const ws.CLOSE = 8;

PING

Specificare il tipo di messaggio websocket 9, che rappresenta un frame ping

1
const ws.PING = 9;

PONG

Specificare il tipo di messaggio websocket 10, che rappresenta una cornice pong

1
const ws.PONG = 10;

CONNECTING

Specifica lo stato WebSocket , indicando che si sta connettendo

1
const ws.CONNECTING = 0;

OPEN

Specificare lo stato WebSocket , indicando lo stato aperto

1
const ws.OPEN = 1;

CLOSING

Specificare lo stato di WebSocket , indicando che è stato inviato un messaggio CLOSE, in attesa di essere chiuso

1
const ws.CLOSING = 2;

CLOSED

Specificare lo stato WebSocket , indicando che è stato chiuso

1
const ws.CLOSED = 3;