Módulo ws
módulo de soporte websocket
Instrucciones:
1var ws = require('ws');
Crea un servidor:
1
2
3
4
5
6
7
8
9var 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.start();
usar WebSocket Cliente:
1
2
3
4var ws = require('ws');
var conn = new ws.Socket('ws://127.0.0.1/ws');
conn.onmessage = e => console.log(e.data);
Objeto
Message
Cree un objeto de mensaje de websocket, consulte WebSocketMessage
1WebSocketMessage ws.Message;
Socket
WebSocket Objeto, ver WebSocket
1WebSocket ws.Socket;
Función estática
upgrade
Cree un controlador de protocolo websocket desde http Reciba la solicitud de actualización y estreche la mano, genere WebSocket Objeto
1static Handler ws.upgrade(Function accept);
Parámetros de llamada:
- accept: Función, la función para manejar la conexión exitosa, la devolución de llamada pasará dos parámetros, el primer parámetro es el recibido WebSocket Objeto, el segundo parámetro es el apretón de manos HttpRequest Objeto
Devolver resultado:
- Handler, Regrese al controlador de protocolo, que se puede usar con HttpServer, Chain, Routing Esperando el atraque
`
Cree un controlador de protocolo websocket desde http Reciba la solicitud de actualización y estreche la mano, genere WebSocket Objeto
1
2static Handler ws.upgrade(Object opts,
Function accept);
Parámetros de llamada:
- opts: Objeto, opción de conexión, el valor predeterminado es {}
- accept: Función, la función para manejar la conexión exitosa, la devolución de llamada pasará dos parámetros, el primer parámetro es el recibido WebSocket Objeto, el segundo parámetro es el apretón de manos HttpRequest Objeto
Devolver resultado:
- Handler, Regrese al controlador de protocolo, que se puede usar con HttpServer, Chain, Routing Esperando el atraque
opts contiene opciones adicionales solicitadas, y el contenido admitido es el siguiente:
1
2
3
4{
"perMessageDeflate": false, // 指定是否支持压缩,缺省不支持
"maxPayload": 67108864 // 指定最大数据包尺寸,缺省为 67108864
}
constante
CONTINUE
Especifique el tipo de mensaje de websocket 0, que representa un marco de continuación
1const ws.CONTINUE = 0;
TEXT
Especifique el tipo de mensaje de websocket 1, que representa un marco de texto
1const ws.TEXT = 1;
BINARY
Especifique el tipo de mensaje 2 de websocket, que representa un marco binario
1const ws.BINARY = 2;
CLOSE
Especifique el tipo de mensaje de websocket 8, la conexión está cerrada
1const ws.CLOSE = 8;
PING
Especifique el tipo de mensaje de websocket 9, que representa un marco de ping
1const ws.PING = 9;
PONG
Especifique el tipo de mensaje de websocket 10, que representa un marco pong
1const ws.PONG = 10;
CONNECTING
Especificar WebSocket Estado, que indica que se está conectando
1const ws.CONNECTING = 0;
OPEN
Especificar WebSocket Estado, que significa estado abierto
1const ws.OPEN = 1;
CLOSING
Especificar WebSocket Estado, que indica que se ha enviado el mensaje CLOSE, esperando a ser cerrado
1const ws.CLOSING = 2;
CLOSED
Especificar WebSocket Estado, lo que significa que está cerrado
1const ws.CLOSED = 3;