Spec-Zone.ru › Web APIs

WebSocket

Базовая Широко доступна *

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

* Некоторые части этой функции могут иметь различный уровень поддержки.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Web Workers.

Объект WebSocket предоставляет API для создания и управления подключением WebSocket к серверу, а также для отправки и получения данных по подключению.

Для создания WebSocket, используйте конструктор WebSocket().

Примечание: API WebSocket не имеет способа применения обратной связи, поэтому, когда сообщения приходят быстрее, чем приложение может их обработать, приложение либо заполнит память устройства буфером этих сообщений, либо станет неотзывчивым из-за использования 100% ЦП, или и то, и другое. Для альтернативы, которая автоматически предоставляет обратную связь, см. WebSocketStream.

EventTarget WebSocket

Конструктор

WebSocket()

Возвращает новый созданный объект WebSocket.

Свойства экземпляра

WebSocket.binaryType

Тип двоичных данных, используемых подключением.

WebSocket.bufferedAmount Только для чтения

Количество байтов очереди данных.

WebSocket.extensions Только для чтения

Расширения, выбранные сервером.

WebSocket.protocol Только для чтения

Подпротокол, выбранный сервером.

WebSocket.readyState Только для чтения

Текущее состояние подключения.

WebSocket.url Только для чтения

Абсолютный URL WebSocket.

Методы экземпляра

WebSocket.close()

Закрывает подключение.

WebSocket.send()

Заносит данные в очередь для передачи.

События

Подпишитесь на эти события, используя addEventListener() или назначив обработчик события свойству oneventname этого интерфейса.

close

Вызывается, когда подключение с WebSocket закрыто. Также доступно через свойство onclose

error

Вызывается, когда подключение с WebSocket закрыто из-за ошибки, например, когда какие-то данные не могут быть отправлены. Также доступно через свойство onerror.

message

Вызывается, когда данные получены через WebSocket. Также доступно через свойство onmessage.

open

Вызывается, когда подключение с WebSocket открыто. Также доступно через свойство onopen.

Примеры

// Create WebSocket connection.
const socket = new WebSocket("ws://localhost:8080");

// Connection opened
socket.addEventListener("open", (event) => {
  socket.send("Hello Server!");
});

// Listen for messages
socket.addEventListener("message", (event) => {
  console.log("Message from server ", event.data);
});

Спецификации

Спецификация
WebSocket
# the-websocket-interface

Совместимость с браузерами

Настольный Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android
WebSocket 5 12 117–11 12.1 5 18 147–14 12.1 4.2 1.0 4.4
WebSocket 5 12 11
7–11Message size limited to 16 MB (see bug 711205).
12.1 5 18 14
7–14Message size limited to 16 MB (see bug 711205).
12.1 4.2 1.0 4.4
binaryType 15 12 11 12.1 6 18 14 12.1 6 1.0 4.4
bufferedAmount 5 12 7 12.1 5 18 7 12.1 4.2 1.0 4.4
close 5 12 7 12.1 5 18 7 12.1 4.2 1.0 4.4
close_event 5 12 7 12.1 5 18 7 12.1 4.2 1.0 ≤37
error_event 5 12 7 12.1 5 18 7 12.1 4.2 1.0 ≤37
extensions 16 12 8 12.1 6 18 8 12.1 6 1.0 4.4
message_event 5 12 7 12.1 5 18 7 12.1 4.2 1.0 ≤37
open_event 5 12 7 12.1 5 18 7 12.1 4.2 1.0 ≤37
protocol 15 12 7 12.1 6 18 7 12.1 6 1.0 4.4
protocol_rfc_6455 16 12 11 15 6 18 14 14 6 1.0 ≤37
readyState 5 12 7 12.1 5 18 7 12.1 4.2 1.0 4.4
send 5 12 18
11–18Only parameter of type ArrayBuffer and String supported.
8–11Only parameter of type String supported.
7–8Only parameter of type String supported. Returns boolean.
12.1 5 18 18
14–18Only parameter of type ArrayBuffer and String supported.
8–14Only parameter of type String supported.
7–8Only parameter of type String supported. Returns boolean.
12.1 4.2 1.0 4.4
url 18 12 7 12.1 6 18 7 12.1 6 1.0 4.4
worker_support 5 12 37 12.1 5 18 37 12.1 5 1.0 ≤37

См. также

  • Написание клиентских приложений WebSocket

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebSocket

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API