Модуль базовый модуль

Модуль WS

модуль поддержки websocket

Инструкции:

1
var ws = require('ws');

Создайте сервер:

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.start();

использовать 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);

Объект

Message

Создайте объект сообщения websocket, см. WebSocketMessage

1
WebSocketMessage ws.Message;

Socket

WebSocket Объект, см. WebSocket

1
WebSocket ws.Socket;

Статическая функция

upgrade

Создайте обработчик протокола веб-сокета из http Получите запрос на обновление и пожмите руку, сгенерируйте WebSocket Объект

1
static Handler ws.upgrade(Function accept);

Параметры звонка:

  • accept: Функция, функция для обработки успешного соединения, обратный вызов будет передавать два параметра, первый параметр - полученный WebSocket Объект, второй параметр - рукопожатие HttpRequest Объект

Результат возврата:

  • Handler, Вернитесь к обработчику протокола, который можно использовать с HttpServer, Chain, Routing Ожидание стыковки `

Создайте обработчик протокола веб-сокета из http Получите запрос на обновление и пожмите руку, сгенерируйте WebSocket Объект

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

Параметры звонка:

  • opts: Объект, вариант подключения, по умолчанию: {}
  • accept: Функция, функция для обработки успешного соединения, обратный вызов будет передавать два параметра, первый параметр - полученный WebSocket Объект, второй параметр - рукопожатие HttpRequest Объект

Результат возврата:

  • Handler, Вернитесь к обработчику протокола, который можно использовать с HttpServer, Chain, Routing Ожидание стыковки

opts содержит запрошенные дополнительные параметры, а поддерживаемое содержимое выглядит следующим образом:

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

постоянный

CONTINUE

Укажите тип сообщения websocket 0, который представляет фрейм продолжения

1
const ws.CONTINUE = 0;

TEXT

Укажите тип сообщения websocket 1, который представляет текстовый фрейм

1
const ws.TEXT = 1;

BINARY

Укажите тип сообщения websocket 2, который представляет двоичный фрейм

1
const ws.BINARY = 2;

CLOSE

Укажите тип сообщения websocket 8, соединение закрыто

1
const ws.CLOSE = 8;

PING

Укажите тип сообщения websocket 9, который представляет фрейм проверки связи

1
const ws.PING = 9;

PONG

Укажите тип сообщения websocket 10, который представляет собой фрейм pong

1
const ws.PONG = 10;

CONNECTING

Указать WebSocket Статус, указывающий на то, что он подключается

1
const ws.CONNECTING = 0;

OPEN

Указать WebSocket Состояние, что означает открытое состояние

1
const ws.OPEN = 1;

CLOSING

Указать WebSocket Состояние, указывающее, что сообщение ЗАКРЫТО было отправлено, ожидает закрытия

1
const ws.CLOSING = 2;

CLOSED

Указать WebSocket Статус, что означает закрыто

1
const ws.CLOSED = 3;