WebSocket
Базовая Широко доступна *
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
* Некоторые части этой функции могут иметь различный уровень поддержки.
Примечание: Эта функция доступна в Web Workers.
Объект WebSocket предоставляет API для создания и управления подключением WebSocket к серверу, а также для отправки и получения данных по подключению.
Для создания WebSocket, используйте конструктор WebSocket().
Примечание: API WebSocket не имеет способа применения обратной связи, поэтому, когда сообщения приходят быстрее, чем приложение может их обработать, приложение либо заполнит память устройства буфером этих сообщений, либо станет неотзывчивым из-за использования 100% ЦП, или и то, и другое. Для альтернативы, которая автоматически предоставляет обратную связь, см. WebSocketStream.
Конструктор
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 | 117–11Message size limited to 16 MB (see bug 711205). |
12.1 | 5 | 18 | 147–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 | 1811–18Only parameter of typeArrayBuffer and String supported.8–11Only parameter of typeString supported.7–8Only parameter of typeString supported. Returns boolean. |
12.1 | 5 | 18 | 1814–18Only parameter of typeArrayBuffer and String supported.8–14Only parameter of typeString supported.7–8Only parameter of typeString 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 |
См. также
© 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