Объект WebSocket
Процессор преобразования протокола пакетов WebSocket
Он используется для преобразования протокола Http в сообщение пакетного протокола WebSocket. Способ создания:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21var ws = require('ws');
var http = require('http');
var serv = new http.Server(8811, ws.upgrade((conn) => {
conn.onmessage = msg => {
conn.send(new Date());
};
}));
serv.run(r => 0);
var sock = new ws.Socket('ws://127.0.0.1:8811');
sock.on('open', () => {
setInterval(() => {
sock.send('get date');
}, 1000);
});
sock.onmessage = evt => {
console.log(evt.data);
}
Наследование
Конструктор
WebSocket
Конструктор WebSocket
1
2
3new WebSocket(String url,
String protocol = "",
String origin = "");
Параметры звонка:
- url: String, укажите подключенный сервер
- protocol: String, укажите протокол рукопожатия, по умолчанию ""
- origin: String, укажите источник, который будет имитироваться во время рукопожатия, по умолчанию ""
Конструктор WebSocket
1
2new WebSocket(String url,
Object opts);
Параметры звонка:
- url: String, укажите подключенный сервер
- opts: Объект, вариант подключения, по умолчанию: {}
opts содержит запрошенные дополнительные параметры, а поддерживаемое содержимое выглядит следующим образом:
1
2
3
4
5
6
7
8{
"protocol": "", // 指定握手协议,缺省为空
"origin": "", // 指定握手时模拟的源,缺省为空
"perMessageDeflate": false, // 指定是否支持压缩,缺省不支持
"maxPayload": 67108864, // 指定最大数据包尺寸,缺省为 67108864
"httpClient": hc, // 自定义 httpClient 对象,缺省使用全局 httpClient
"headers": // 指定 http(s) 连接时携带的 header,缺省为 {},
}
Статические свойства
defaultMaxListeners
Целое число, максимальное глобальное количество слушателей по умолчанию
1static Integer WebSocket.defaultMaxListeners;
Атрибуты члена
url
String, запросить сервер, подключенный к текущему объекту
1readonly String WebSocket.url;
protocol
String, запросить протокол при подключении текущего объекта
1readonly String WebSocket.protocol;
origin
String, запросить источник текущего подключения объекта
1readonly String WebSocket.origin;
readyState
Целое число, запросить статус подключения текущего объекта, см. ws
1readonly Integer WebSocket.readyState;
onopen
Событие успешного подключения функции, запроса и привязки, эквивалентное on ("open", func);
1Function WebSocket.onopen;
onmessage
Функция, запрос и привязка события получения сообщения другой стороны, что эквивалентно on ("message", func);
1Function WebSocket.onmessage;
onclose
Функция, запрос и привязка события закрытия соединения, эквивалентного on ("close", func);
1Function WebSocket.onclose;
onerror
События ошибок функции, запроса и привязки, эквивалентные on ("error", func);
1Function WebSocket.onerror;
Функция члена
close
Закройте текущее соединение, эта операция отправит другой стороне пакет CLOSE и будет ждать ответа от другой стороны.
1
2WebSocket.close(Integer code = 1000,
String reason = "");
Параметры звонка:
- code: Целое число, укажите код для закрытия, допустимое значение - 3000–4999 или 1000, по умолчанию - 1000.
- reason: String, укажите причину закрытия, по умолчанию ""
send
Отправить текст другому абоненту
1WebSocket.send(String data);
Параметры звонка:
- data: String, укажите отправляемый текст
Отправить фрагмент двоичных данных другой стороне
1WebSocket.send(Buffer data);
Параметры звонка:
- data: Buffer, Укажите двоичные данные для отправки
ref
Не допускать завершения процесса fibjs и предотвращать завершение процесса fibjs во время привязки объекта
1WebSocket WebSocket.ref();
Результат возврата:
- WebSocket, Возвращает текущий объект
unref
Разрешить завершению процесса fibjs и разрешить выход процессу fibjs во время привязки объекта.
1WebSocket WebSocket.unref();
Результат возврата:
- WebSocket, Возвращает текущий объект
on
Привяжите обработчик события к объекту
1
2Object WebSocket.on(String ev,
Function func);
Параметры звонка:
- ev: String укажите название события
- func: Функция, укажите функцию обработки событий
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
Привяжите обработчик события к объекту
1Object WebSocket.on(Object map);
Параметры звонка:
- map: Object, укажите отношение сопоставления событий, имя свойства объекта будет использоваться как имя события, а значение свойства будет использоваться как функция обработки события
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
addListener
Привяжите обработчик события к объекту
1
2Object WebSocket.addListener(String ev,
Function func);
Параметры звонка:
- ev: String укажите название события
- func: Функция, укажите функцию обработки событий
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
Привяжите обработчик события к объекту
1Object WebSocket.addListener(Object map);
Параметры звонка:
- map: Object, укажите отношение сопоставления событий, имя свойства объекта будет использоваться как имя события, а значение свойства будет использоваться как функция обработки события
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
prependListener
Привяжите обработчик события к началу объекта
1
2Object WebSocket.prependListener(String ev,
Function func);
Параметры звонка:
- ev: String укажите название события
- func: Функция, укажите функцию обработки событий
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
Привяжите обработчик события к началу объекта
1Object WebSocket.prependListener(Object map);
Параметры звонка:
- map: Object, укажите отношение сопоставления событий, имя свойства объекта будет использоваться как имя события, а значение свойства будет использоваться как функция обработки события
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
once
Привязать к объекту функцию одноразовой обработки событий, функция одноразовой обработки будет срабатывать только один раз
1
2Object WebSocket.once(String ev,
Function func);
Параметры звонка:
- ev: String укажите название события
- func: Функция, укажите функцию обработки событий
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
Привязать к объекту функцию одноразовой обработки событий, функция одноразовой обработки будет срабатывать только один раз
1Object WebSocket.once(Object map);
Параметры звонка:
- map: Object, укажите отношение сопоставления событий, имя свойства объекта будет использоваться как имя события, а значение свойства будет использоваться как функция обработки события
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
prependOnceListener
Привяжите обработчик события к началу объекта
1
2Object WebSocket.prependOnceListener(String ev,
Function func);
Параметры звонка:
- ev: String укажите название события
- func: Функция, укажите функцию обработки событий
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
Привяжите обработчик события к началу объекта
1Object WebSocket.prependOnceListener(Object map);
Параметры звонка:
- map: Object, укажите отношение сопоставления событий, имя свойства объекта будет использоваться как имя события, а значение свойства будет использоваться как функция обработки события
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
off
Отменить указанную функцию из очереди обработки объекта
1
2Object WebSocket.off(String ev,
Function func);
Параметры звонка:
- ev: String укажите название события
- func: Функция, укажите функцию обработки событий
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
Отменить все функции в очереди обработки объекта
1Object WebSocket.off(String ev);
Параметры звонка:
- ev: String укажите название события
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
Отменить указанную функцию из очереди обработки объекта
1Object WebSocket.off(Object map);
Параметры звонка:
- map: Object, укажите отношение сопоставления событий, имя свойства объекта используется как имя события, а значение свойства используется как функция обработки события.
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
removeListener
Отменить указанную функцию из очереди обработки объекта
1
2Object WebSocket.removeListener(String ev,
Function func);
Параметры звонка:
- ev: String укажите название события
- func: Функция, укажите функцию обработки событий
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
Отменить все функции в очереди обработки объекта
1Object WebSocket.removeListener(String ev);
Параметры звонка:
- ev: String укажите название события
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
Отменить указанную функцию из очереди обработки объекта
1Object WebSocket.removeListener(Object map);
Параметры звонка:
- map: Object, укажите отношение сопоставления событий, имя свойства объекта используется как имя события, а значение свойства используется как функция обработки события.
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
removeAllListeners
Отменить все прослушиватели всех событий из очереди обработки объекта.Если событие указано, удалить всех прослушивателей указанного события.
1Object WebSocket.removeAllListeners(String ev);
Параметры звонка:
- ev: String укажите название события
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
Отменить все прослушиватели всех событий из очереди обработки объекта.Если событие указано, удалить всех прослушивателей указанного события.
1Object WebSocket.removeAllListeners(Array evs = []);
Параметры звонка:
- evs: Массив, укажите название события
Результат возврата:
- Object, Вернуть сам объект события, что удобно для цепного вызова
setMaxListeners
Ограничение количества слушателей по умолчанию, только для совместимости
1WebSocket.setMaxListeners(Integer n);
Параметры звонка:
- n: Целое число, укажите количество событий
getMaxListeners
Получите ограничение количества слушателей по умолчанию, только для совместимости
1Integer WebSocket.getMaxListeners();
Результат возврата:
- Integer, Вернуться к предельному числу по умолчанию
listeners
Массив слушателей для указанного события объекта запроса
1Array WebSocket.listeners(String ev);
Параметры звонка:
- ev: String укажите название события
Результат возврата:
- Array, Возвращает массив слушателей для указанного события
listenerCount
Количество слушателей для указанного события объекта запроса
1Integer WebSocket.listenerCount(String ev);
Параметры звонка:
- ev: String укажите название события
Результат возврата:
- Integer, Возвращает количество слушателей для указанного события
Количество слушателей для указанного события объекта запроса
1
2Integer WebSocket.listenerCount(Value o,
String ev);
Параметры звонка:
- o: Значение, укажите объект запроса
- ev: String укажите название события
Результат возврата:
- Integer, Возвращает количество слушателей для указанного события
eventNames
Запросить имя события слушателя
1Array WebSocket.eventNames();
Результат возврата:
- Array, Возвращает массив имен событий
emit
Активно запускать событие
1
2Boolean WebSocket.emit(String ev,
...args);
Параметры звонка:
- ev: Строка, название события
- args: ..., параметры события, которые будут переданы обработчику события
Результат возврата:
- Boolean, Вернитесь в состояние триггера события, верните истину, если есть событие ответа, в противном случае верните ложь
toString
Возвращает строковое представление объекта, обычно возвращает «[Native Object]», объект может быть повторно реализован в соответствии с его собственными характеристиками.
1String WebSocket.toString();
Результат возврата:
- String, Возвращает строковое представление объекта
toJSON
Возвращает представление объекта в формате JSON, обычно возвращает набор читаемых атрибутов, определенных объектом.
1Value WebSocket.toJSON(String key = "");
Параметры звонка:
- key: Строка, не используется
Результат возврата:
- Value, Возвращает значение, содержащее сериализуемый JSON