Встроенный объект объекта

ОбъектВебСокет

WebSocket — это полнодуплексный протокол связи, основанный на протоколе TCP. Он устанавливает непрерывное соединение между браузером и сервером, может реализовать двустороннюю передачу данных в реальном времени и может поддерживать передачу данных в любом формате. В fibjs модуль поддержки WebSocket предоставляет соответствующий интерфейс API, который может реализовать разработку сервера и клиента WebSocket.

Модуль поддержки WebSocket представляет собой всего лишь реализацию протокола WebSocket и должен работать поверх протокола HTTP. На стороне сервера HTTP-запрос может быть преобразован в соединение WebSocket с помощью функции обновления, а на стороне клиента адрес подключаемого сервера необходимо указать через URL-адрес протокола WebSocket.

Пример запуска сервера 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();

Пример установления соединения с вышеуказанным сервером в клиенте:

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

отношения наследства

Конструктор

WebSocket

Конструктор веб-сокетов

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

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

  • url: строка, указывает подключенный сервер
  • protocol: строка, указывает протокол установления связи, значение по умолчанию — ""
  • origin: строка, указывает источник моделирования во время рукопожатия, значение по умолчанию — ""

Конструктор веб-сокетов

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

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

  • url: строка, указывает подключенный сервер
  • opts: Объект, вариант подключения, по умолчанию — {}

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

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 {} }

статические свойства

defaultMaxListeners

Целое число, глобальное максимальное количество слушателей по умолчанию.

1
static Integer WebSocket.defaultMaxListeners;

свойства члена

url

Строка, запрос сервера, к которому подключен текущий объект.

1
readonly String WebSocket.url;

protocol

Строка, запрос протокола подключения текущего объекта.

1
readonly String WebSocket.protocol;

origin

Строка, запрос источника текущего соединения объекта.

1
readonly String WebSocket.origin;

readyState

Целое число, запросите статус подключения текущего объекта, см.ws

1
readonly Integer WebSocket.readyState;

onopen

Функция, запрос и привязка событий успешного соединения, эквивалентных on("open", func);

1
Function WebSocket.onopen;

onmessage

Функция, запрос и привязка событий, которые получают сообщения от другой стороны, что эквивалентно on("message", func);

1
Function WebSocket.onmessage;

onclose

Функция, запрашивает и связывает события закрытия соединения, что эквивалентно on("close", func);

1
Function WebSocket.onclose;

onerror

Функция, запрос и привязка событий при возникновении ошибок, что эквивалентно on("error", func);

1
Function WebSocket.onerror;

функция-член

close

Закройте текущее соединение. Эта операция отправит пакет CLOSE другой стороне и будет ждать ответа другой стороны.

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

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

  • code: целое число, указывает код завершения работы, допустимое значение — 3000–4999 или 1000, значение по умолчанию — 1000.
  • reason: строка, указывает причину завершения работы, значение по умолчанию — ""

send

Отправьте сообщение другому абоненту

1
WebSocket.send(String data);

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

  • data: строка, определяет текст для отправки.

Отправьте фрагмент двоичных данных другой стороне.

1
WebSocket.send(Buffer data);

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

  • data:Buffer, укажите отправленные двоичные данные

ref

Не допускайте выхода процесса fibjs и не допускайте выхода процесса fibjs во время привязки объекта.

1
WebSocket WebSocket.ref();

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

  • WebSocket, возвращает текущий объект

unref

Разрешить завершение процесса fibjs. Разрешить завершение процесса fibjs во время привязки объекта.

1
WebSocket WebSocket.unref();

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

  • WebSocket, возвращает текущий объект

on

Привязать обработчик событий к объекту

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

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

  • ev: строка, указывает название события.
  • func: Функция, укажите функцию обработки событий.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

Привязать обработчик событий к объекту

1
Object WebSocket.on(Object map);

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

  • map: Объект, определяет связь сопоставления событий, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве функции обработки событий.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

addListener

Привязать обработчик событий к объекту

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

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

  • ev: строка, указывает название события.
  • func: Функция, укажите функцию обработки событий.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

Привязать обработчик событий к объекту

1
Object WebSocket.addListener(Object map);

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

  • map: Объект, определяет связь сопоставления событий, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве функции обработки событий.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

prependListener

Привяжите обработчик событий к источнику объекта

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

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

  • ev: строка, указывает название события.
  • func: Функция, укажите функцию обработки событий.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

Привяжите обработчик событий к источнику объекта

1
Object WebSocket.prependListener(Object map);

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

  • map: Объект, определяет связь сопоставления событий, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве функции обработки событий.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

once

Привяжите к объекту одноразовый обработчик событий. Одноразовый обработчик будет срабатывать только один раз.

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

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

  • ev: строка, указывает название события.
  • func: Функция, укажите функцию обработки событий.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

Привяжите к объекту одноразовый обработчик событий. Одноразовый обработчик будет срабатывать только один раз.

1
Object WebSocket.once(Object map);

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

  • map: Объект, определяет связь сопоставления событий, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве функции обработки событий.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

prependOnceListener

Привяжите обработчик событий к источнику объекта

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

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

  • ev: строка, указывает название события.
  • func: Функция, укажите функцию обработки событий.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

Привяжите обработчик событий к источнику объекта

1
Object WebSocket.prependOnceListener(Object map);

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

  • map: Объект, определяет связь сопоставления событий, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве функции обработки событий.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

off

Отменить назначение функции из очереди обработки объекта

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

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

  • ev: строка, указывает название события.
  • func: Функция, укажите функцию обработки событий.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

Отменить все функции в очереди обработки объекта

1
Object WebSocket.off(String ev);

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

  • ev: строка, указывает название события.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

Отменить назначение функции из очереди обработки объекта

1
Object WebSocket.off(Object map);

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

  • map: Объект, определяет связь сопоставления событий, имя атрибута объекта используется в качестве имени события, а значение атрибута используется в качестве функции обработки событий.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

removeListener

Отменить назначение функции из очереди обработки объекта

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

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

  • ev: строка, указывает название события.
  • func: Функция, укажите функцию обработки событий.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

Отменить все функции в очереди обработки объекта

1
Object WebSocket.removeListener(String ev);

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

  • ev: строка, указывает название события.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

Отменить назначение функции из очереди обработки объекта

1
Object WebSocket.removeListener(Object map);

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

  • map: Объект, определяет связь сопоставления событий, имя атрибута объекта используется в качестве имени события, а значение атрибута используется в качестве функции обработки событий.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

removeAllListeners

Отменяет все прослушиватели всех событий из очереди обработки объекта. Если событие указано, удаляются все прослушиватели указанного события.

1
Object WebSocket.removeAllListeners(String ev);

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

  • ev: строка, указывает название события.

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

Отменяет все прослушиватели всех событий из очереди обработки объекта. Если событие указано, удаляются все прослушиватели указанного события.

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

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

  • evs: Массив, укажите название события

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

  • Object, возвращает сам объект события для облегчения цепных вызовов

setMaxListeners

Ограничение количества прослушивателей по умолчанию, только для совместимости.

1
WebSocket.setMaxListeners(Integer n);

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

  • n: Целое число, укажите количество событий

getMaxListeners

Получает предельное количество прослушивателей по умолчанию, только для совместимости.

1
Integer WebSocket.getMaxListeners();

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

  • Integer, возвращает лимитируемое количество по умолчанию

listeners

Запросить массив прослушивателей для указанного события объекта

1
Array WebSocket.listeners(String ev);

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

  • ev: строка, указывает название события.

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

  • Array, возвращает массив прослушивателей для указанного события

listenerCount

Запрос количества прослушивателей для указанного события объекта

1
Integer WebSocket.listenerCount(String ev);

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

  • ev: строка, указывает название события.

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

  • Integer, возвращает количество прослушивателей указанного события

Запрос количества прослушивателей для указанного события объекта

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

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

  • o: Значение, указывает объект запроса.
  • ev: строка, указывает название события.

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

  • Integer, возвращает количество прослушивателей указанного события

eventNames

Имя события прослушивателя запроса

1
Array WebSocket.eventNames();

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

  • Array, возвращает массив имен событий

emit

Активно запускать событие

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

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

  • ev: строка, имя события
  • args: ..., параметры события будут переданы в функцию обработки событий

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

  • Boolean, возвращает статус триггера события, возвращает true, если есть ответное событие, в противном случае возвращает false

toString

Возвращает строковое представление объекта. Обычно возвращается «[Native Object]». Объект может быть повторно реализован в соответствии с его собственными характеристиками.

1
String WebSocket.toString();

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

  • String, возвращает строковое представление объекта

toJSON

Возвращает представление объекта в формате JSON, обычно возвращая коллекцию читаемых свойств, определенных объектом.

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

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

  • key: Строка, не используется.

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

  • Value, возвращает значение, содержащее сериализуемый JSON